美文网首页UIKitiOS DeveloperiOS 开发
3DTouch的简单实现(一)重按启动图标出现选项

3DTouch的简单实现(一)重按启动图标出现选项

作者: 夜凉听风雨 | 来源:发表于2016-09-19 09:20 被阅读1212次

    代码下载链接:GitHub - jiangbin1993/3DTouch  欢迎下载点赞


    简介:

    3D Touch 是苹果推出的在iphone6和6Plus上  新出的iphone7系列应该也会有的功能。下面就简单介绍一下如何使用在iOS开发中为工程配置这一功能。

    实现:

    一、重按app 启动图标出现功能选项的实现

    实现效果如下:


    这一步的操作不需要写代码 只需要配置一下工程中的info.plist 文件就能实现。

    先添加一个数组UIApplicationShortcutitems  在这个数组里添加字典,每个字典里添加字符串。

    下面我配置了两个选项 item0和item1  一个是打开选项,一个是分享选项。

    参数说明:


    UIApplicationShortcutItemType:该QuickAction的标示符,在整个工程中,必须唯一,相当于QuickAction的名称,通过该名称,识别用户做了哪个点击;

    UIApplicationShortcutItemSubtitle:显示在QuickAction主名称下面的子名称;

    UIApplicationShortcutItemIconType:该QuickAction的图标。

    可以配置多个QuickAction,如图所示,配置了两个,item0和item1。

    其中,系统提供的UIApplicationShortcutItemIconType有如下类型:

    UIApplicationShortcutIconTypeCompose,

    UIApplicationShortcutIconTypePlay,

    UIApplicationShortcutIconTypePause,

    UIApplicationShortcutIconTypeAdd,

    UIApplicationShortcutIconTypeLocation,

    UIApplicationShortcutIconTypeSearch,

    UIApplicationShortcutIconTypeShare,

    UIApplicationShortcutIconTypeProhibit       NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeContact        NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeHome           NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeMarkLocation   NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeFavorite       NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeLove           NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeCloud          NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeInvitation     NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeConfirmation   NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeMail           NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeMessage        NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeDate           NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeTime           NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeCapturePhoto   NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeCaptureVideo   NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeTask           NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeTaskCompleted  NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeAlarm          NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeBookmark       NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeShuffle        NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeAudio          NS_ENUM_AVAILABLE_IOS(9_1),

    UIApplicationShortcutIconTypeUpdate         NS_ENUM_AVAILABLE_IOS(9_1)

    这样配置好plist文件重按启动图标就可以显示出两个选项了。

    配置完plist文件,选项也有了,接下来就应该要实现点击选项的功能逻辑实现啦。

    二、点击选项的功能实现:

    在Appdelegate中,添加如下方法,对不同的QuickAction进行响应。

    // 处理点击3D touch 方法的功能实现

    -(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler {

    if ([shortcutItem.type isEqualToString:@"ShortCutOpen"]) {

    NSLog(@"打开了软件");

    }

    if ([shortcutItem.type isEqualToString:@"ShortCutShare"]) {

    NSLog(@"分享");

    SecondViewController *vc = [[SecondViewController alloc] init];

    [self.window.rootViewController presentViewController:vc animated:YES completion:nil];

    }

    }

    通过条件判断if ([shortcutItem.type isEqualToString:@"ShortCutShare"])来判定点击的是哪个选项,然后实现要进行的操作。

    3DTouch Peek和Pop功能的实现链接:3DTouch(二) Peek和Pop功能实现 - 简书

    如果本文对你有一丢丢的帮助 请帮我点个喜欢哦。

    相关文章

      网友评论

        本文标题:3DTouch的简单实现(一)重按启动图标出现选项

        本文链接:https://www.haomeiwen.com/subject/cqngettx.html