3D Touch 简单应用

苹果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(@"按点击了第二个标题");
    }
}

你可能感兴趣的:(3D Touch 简单应用)