3D Touch是一种立体触控技术,被苹果称为新一代 多点触控技术 ,是在 Apple Watch 上采用的 Force Touch ,屏幕可感应不同的感压力度触控。3D Touch,有Peek Pop 两种新手势。
话不多说,马上开始 1.添加主屏幕快捷菜单 ( Home screen quick action)(1)静态添加快捷菜单创建一个静态的快捷菜单,只需要简单地在Info.plist中添加一个 UIApplicationShortcutItems 的 Array 即可。 UIApplicationShortcutItems 关键字释义:UIApplicationShortcutItemType: 快捷可选项的特定字符串(必填) UIApplicationShortcutItemTitle: 快捷可选项的标题(必填) UIApplicationShortcutItemSubtitle: 快捷可选项的子标题(可选) UIApplicationShortcutItemIconType: 快捷可选项的图标(可选) UIApplicationShortcutItemIconFile: 快捷可选项的自定义图标(可选) UIApplicationShortcutItemUserInfo: 快捷可选项的附加信息(可选) (2)动态添加快捷菜单初始化并配置 UIApplicationShortcutItem, UIMutableApplicationShortcutItem 和 UIApplicationShortcutIcon 这三个类,并将其添加到 AppDelegate 中的 shortcutItems 属性即可。 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. UIApplicationShortcutIcon *icon1 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeAdd]; UIApplicationShortcutIcon *icon2 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeShare]; UIApplicationShortcutItem *item1 = [[UIApplicationShortcutItem alloc]initWithType:@"item1" localizedTitle:@"标题1" localizedSubtitle:nil icon:icon1 userInfo:nil]; UIApplicationShortcutItem *item2 = [[UIApplicationShortcutItem alloc]initWithType:@"item2" localizedTitle:@"标题2" localizedSubtitle:nil icon:icon2 userInfo:nil]; NSArray *array = @[item1,item2]; [UIApplication sharedApplication].shortcutItems = array; return YES; } 2.检测设备是否支持3D Touch在ViewController.m文件的viewDidLoad中判断3D Touch是否可用,防止设备不支持3D Touch功能时崩溃 -(void)check3dtouch { if(self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) { NSLog(@"3DTouch 可用"); }else{ NSLog(@"3DTouch 不可用"); } } 3.实现快捷选项功能-(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler { if ([shortcutItem.localizedTitle isEqualToString:@"标题1"]) { UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"测试1" message:@"我只是测试" delegate:nil cancelButtonTitle:@"我知道是测试" otherButtonTitles:@"好", nil]; [alert show]; } else if([shortcutItem.type isEqualToString:@"标题2"]){ //... } else if (completionHandler) { completionHandler(YES); } } 4.Peek&PopPeek and Pop 将传统的 Push 操作分为了两步,当你的手指按压某行列表,背景开始模式模糊,然后出现一个预览界面,然后继续增加压力,伴随着俏皮的弹性动画,下一个界面呈现在你眼前。在 API 中,这两部分别被称为 Preview 和 Commit。
|