苹果6s已经问世很久了,相信大家对3D Touch功能也不陌生了,个人非常喜欢那个重按的手感.之前一直感觉这个新功能很神秘,后来查了一下,发现真是简单,只需要一个代理方法即可,下面来和大家分享一下(只需要两步~~~)
第一步:当然是初始化
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
#warning 1 重按手势图标初始化
// UIApplicationShortcutIcon为创建显示的图片的类
// 创建图片一共有两种方式 一种使用系统的图片 一种使用自定义的图片
// iconWithType:这个类方法为系统方法
// iconWithTemplateImageName:这个为自己创建的方法
//系统自带图标
UIApplicationShortcutIcon *icon1 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeAdd];
//自定义图标
UIApplicationShortcutIcon *icon2 = [UIApplicationShortcutIcon iconWithTemplateImageName:@"自己的小图标"];
#warning 2 初始化Item
// initWithType:用作以后响应的时候判断
// localizedTitle:在3DTouch中显示的文字
// localizedSubtitle:子标题
// icon:图片
// userInfo:传入的其余信息
UIApplicationShortcutItem *item1 = [[UIApplicationShortcutItem alloc]initWithType:@"item1" localizedTitle:@"加好友" localizedSubtitle:nil icon:icon1 userInfo:nil];
UIApplicationShortcutItem *item2 = [[UIApplicationShortcutItem alloc]initWithType:@"item2" localizedTitle:@"扫一扫" localizedSubtitle:nil icon:icon2 userInfo:nil];
NSArray *array = @[item1,item2];
[UIApplication sharedApplication].shortcutItems = array;
return YES;
}
第二步:3DTouch 触发的代理方法
-(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler
{
//这里可以实现界面跳转等方法
if ([shortcutItem.type isEqualToString:@"item1"]) {
NSLog(@"按点击了第一个标题");
}
else if ([shortcutItem.type isEqualToString:@"item2"])
{
NSLog(@"按点击了第二个标题");
}
}