IOS9以后,苹果退出了新的3D Touch功能,目前支持3Dtouch的设备只有Iphone6s以及之后的产品,当然,你的手机系统要升级到IOS9以后才能使用,苹果增加3Dtouch功能,就是为了增加APP的快捷入口,方便和简化用户进入APP相应功能的路径,让用户更快的找到自己需要的应用功能
主要分为两部分:1.用户可以通过按压主屏幕上的应用图标(比如qq)快速进去响应的功能模块(添加好友了,扫一扫了,拍照了等等,一般只显示前4个) 2.用户进入程序界面后,可以通过手势按压进行快速预览的功能
进入正题,接下来我们就看一看,3Dtouch功能到底怎么实现:
首先,我们要配置标签,配置标签有两种方式:
1.通过配置info.plist文件进行标签的配置
2.直接通过代码来配置
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
// Override point for customization after application launch.
UIApplicationShortcutIcon*icon1 = [UIApplicationShortcutIconiconWithType:UIApplicationShortcutIconTypeCompose];
UIApplicationShortcutItem*item1 = [[UIApplicationShortcutItemalloc]initWithType:@"item1"localizedTitle:@"标签1"localizedSubtitle:@""icon:icon1userInfo:nil];
UIApplicationShortcutIcon*icon2 = [UIApplicationShortcutIconiconWithType:UIApplicationShortcutIconTypeShare];
UIApplicationShortcutItem*item2 = [[UIApplicationShortcutItemalloc]initWithType:@"item2"localizedTitle:@"标签2"localizedSubtitle:@""icon:icon2userInfo:nil];
UIApplicationShortcutIcon*icon3 = [UIApplicationShortcutIconiconWithType:UIApplicationShortcutIconTypeAdd];
UIApplicationShortcutItem*item3 = [[UIApplicationShortcutItemalloc]initWithType:@"item3"localizedTitle:@"标签3"localizedSubtitle:@""icon:icon3userInfo:nil];
application.shortcutItems=@[item1,item2,item3];
returnYES;
}
然后我们可以在代理方法中操作响应的事件
-(void)application:(UIApplication*)application performActionForShortcutItem:(nonnullUIApplicationShortcutItem*)shortcutItem completionHandler:(nonnullvoid(^)(BOOL))completionHandler
{
if([shortcutItem.typeisEqualToString:@"item1"]) {
//do something
}elseif([shortcutItem.typeisEqualToString:@"item2"])
{
}elseif([shortcutItem.typeisEqualToString:@"item3"])
{
}
}