1、创建3DTouch的两种方式
- 静态标签
静态标签是我们在项目的配置plist文件中配置的标签,在用户安装程序后就可以使用,并且排序会在动态标签的前面。
首先,在info.plist文件中添加了一个UIApplicationShortcutItems的数组,这个数组中添加的元素就是对应的静态标签,在每个标签中我们需要添加一些设置的键值:
必填项(下面两个键值是必须设置的):
这个键值设置一个快捷通道类型的字符串
UIApplicationShortcutItemType
这个键值设置标签的标题
UIApplicationShortcutItemTitle
选填项(下面这些键值不是必须设置的):
设置标签的副标题
UIApplicationShortcutItemSubtitle
设置标签Icon类型
UIApplicationShortcutItemIconType
设置标签的Icon文件
UIApplicationShortcutItemIconFile
设置信息字典(用于传值)
UIApplicationShortcutItemUserInfo
- 动态标签
注意事项:使用之前一定要判断设备和系统是否支持,否则会崩溃
- (void)add3DTouch{
//判断设备是否支持
if (([UIDevice currentDevice].systemVersion.floatValue > 9.0) && (self.window.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable)) {
//添加3DTouch item
UIApplicationShortcutIcon *stockIcon = [UIApplicationShortcutIcon iconWithTemplateImageName:@"xxx"];
UIApplicationShortcutIcon *inventoryIcon = [UIApplicationShortcutIcon iconWithTemplateImageName:@"yay"];
UIApplicationShortcutItem *stockOutItem = [[UIApplicationShortcutItem alloc]initWithType:@"stockout" localizedTitle:@"xxx" localizedSubtitle:nil icon: stockIcon userInfo:nil];
UIApplicationShortcutItem *inventoryItem = [[UIApplicationShortcutItem alloc]initWithType:@"inventory" localizedTitle:@"yyy" localizedSubtitle:nil icon:inventoryIcon userInfo:nil];
[UIApplication sharedApplication].shortcutItems = @[inventoryItem,stockOutItem];
}
}