代码下载链接:GitHub - jiangbin1993/3DTouch 欢迎下载点赞
简介:
3D Touch 是苹果推出的在iphone6和6Plus上 新出的iphone7系列应该也会有的功能。下面就简单介绍一下如何使用在iOS开发中为工程配置这一功能。
上架到appstore的app默认都有一个分享的3D touch 功能。
实现:
一、重按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功能实现 -
如果本文对你有一丢丢的帮助 请帮我点个喜欢哦。