3D Touch
是在iPhone 6s/iPhone 6s plus中引入的,我想知道我们是否可以访问3D Touch相关API并在我们的应用程序中以编程方式进行编辑。任何人都有一些想法吗?iOS 3D触摸编程
5
A
回答
9
您将可以在应用程序中使用3D触摸功能。在UITouch
课程中将有一个新的属性force
,它将保持轻击事件的强度。 1.0被定义为“平均触摸”。
3
我共享的源代码,按下应用程序图标填写4项
步骤1: - 在appDelegate.m
进口类进口sys/utsname.h
第2步: -
编译大关获取计算机名称
- (NSString *) machineName {
struct utsname systemInfo;
uname(&systemInfo);
return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if([[self machineName] isEqualToString:@"iPhone8,2"]|| [[self machineName] isEqualToString:@"iPhone8,1"]) {
[self addEventsFor3DTouchEvents];
}
return YES;
}
编译MARK添加动作为三d触摸Eventes
- (void) addEventsFor3DTouchEvents {
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0) {
UIApplicationShortcutItem *item1 = [[UIApplicationShortcutItem alloc] initWithType:@"dynamic1" localizedTitle:TITLE_NAME_1 localizedSubtitle:@"" icon:[UIApplicationShortcutIcon iconWithTemplateImageName:TITLE_IMAGE_NAME_1] userInfo:nil];
UIApplicationShortcutItem *item2 = [[UIApplicationShortcutItem alloc] initWithType:@"dynamic1" localizedTitle:TITLE_NAME_2 localizedSubtitle:@"" icon:[UIApplicationShortcutIcon iconWithTemplateImageName:TITLE_IMAGE_NAME_2] userInfo:nil];
UIApplicationShortcutItem *item3 = [[UIApplicationShortcutItem alloc] initWithType:@"dynamic1" localizedTitle:TITLE_NAME_3 localizedSubtitle:@"" icon:[UIApplicationShortcutIcon iconWithTemplateImageName:TITLE_IMAGE_NAME_3] userInfo:nil];
UIApplicationShortcutItem *item4 = [[UIApplicationShortcutItem alloc] initWithType:@"dynamic1" localizedTitle:TITLE_NAME_4 localizedSubtitle:@"" icon:[UIApplicationShortcutIcon iconWithTemplateImageName:TITLE_IMAGE_NAME_4] userInfo:nil];
[[UIApplication sharedApplication] setShortcutItems: @[ item1, item2, item3, item4 ]];
}
}
#pragma mark - 3DTouch Delegate Methods
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler {
[self moveThrough3DTouch:shortcutItem];
}
#pragma MARK for Handling Action for Three D Touch Events
- (void)moveThrough3DTouch:(UIApplicationShortcutItem *)temp {
if ([temp.localizedTitle isEqualToString:TITLE_NAME_1]) {
[self.tabBarController setSelectedIndex:0];
} else if([temp.localizedTitle isEqualToString:TITLE_NAME_2]) {
[self.tabBarController setSelectedIndex:1];
} else if([temp.localizedTitle isEqualToString:TITLE_NAME_3]) {
[self.tabBarController setSelectedIndex:2];
} else if([temp.localizedTitle isEqualToString:TITLE_NAME_4]) {
[self.tabBarController setSelectedIndex:3];
}
}
**我使用的标签栏控制器在我的应用程序,如果想在移动视图控制
- (void) moveToControllerScene {
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:STORY_BOARD_IDENTIFIER bundle:nil];
YOUR_CONTROLLER_OBJECT *obj = [storyboard instantiateViewControllerWithIdentifier:@"YOUR_CONTROLLER_OBJECT"];
[navController pushViewController:obj animated:YES];
}
相关问题
- 1. 以编程方式禁用IOS 3D触摸手势
- 2. 3d触摸单张照片。 iOS,Swift
- 3. 触摸3D对象ArToolKitJpctBaseLib
- 4. 启动周期(3D触摸)
- 5. 编程触摸团结
- 6. 触摸屏编程问题
- 7. UIView完成触摸编程
- 8. 3D触摸功能检查问题 - Swift
- 9. 3D触控iOS中
- 10. 3D触摸快捷方式小部件
- 11. 触摸IOS画线
- 12. 使用触摸ID保护设备的3D触摸动作
- 13. 如何停止3D触摸其中断其他触摸事件?
- 14. 如何使在支持3D触摸(力触摸)
- 15. iOS 3D触摸API使用Javascript进行网络应用
- 16. 本机脚本中的iOS 3D触摸支持
- 17. 使用ARToolkit触摸旋转3D AR对象360度ios + sdk
- 18. 从iOS 9上打开Webviews禁用3D触摸?
- 19. iOS 3D触摸Peek /流行音乐没有故事板
- 20. iOS通用触摸处理程序
- 21. iOS版iPad在编程时触摸失败(代码签名前)
- 22. 加载触摸响应3D模型
- 23. Unity 3D中onMouseDrag的简单触摸
- 24. 沉默的3D触摸快速行动
- 25. 3D触摸偷看和流行麻烦
- 26. 自定义3D触摸和WkWebView问题
- 27. 在UITableViewCell中禁用3D触摸UIButton
- 28. 登录iOS的触摸ID
- 29. iOS的触摸帧率
- 30. IOS的UIButton触摸取消
你看过任何文档,文章或示例代码吗? https://developer.apple.com/ios/3d-touch/ –