自從phone6s開始使用3Dtouch功能,有些公司的項(xiàng)目就要求加入這個(gè)功能。下面就和小伙伴們簡(jiǎn)單聊一下3Dtouch的快速集成瘩蚪。
1.首先你需要在你的appdelegate方法里面創(chuàng)建快捷項(xiàng)(UIApplicationShortcutItem)
? 創(chuàng)建UIApplicationShortcutItem的方法有兩種:
1.在info.plist中添加 UIApplicationShortcutItems 下面添加
2.第二種方法就是就是直接在appdelegate里面使用代碼創(chuàng)建
第一種創(chuàng)建方式:
第二種代碼:
UIApplicationShortcutIcon *icon = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeAlarm];
UIApplicationShortcutItem *item = [[UIApplicationShortcutItem alloc] initWithType:@"shortcutTypeTwo" localizedTitle:@"two" localizedSubtitle:nil icon:icon userInfo:nil];
2.快捷項(xiàng)創(chuàng)建好了之后下面就需要實(shí)現(xiàn)3Dtouch的執(zhí)行方法了:代碼示例
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler {
if ([shortcutItem.type isEqualToString:@"shortcutTypeOne"]) {
//? ? ? ? detailVC.navTitle = @"one";
} else if ([shortcutItem.type isEqualToString:@"shortcutTypeTwo"]) {
//? ? ? ? detailVC.navTitle = @"two";
}
}
輕松兩步app圖標(biāo)上的3Dtouch功能就ok了。頁(yè)面上的3Dtouch功能只要頁(yè)面服從(UIViewControllerPreviewingDelegate)并執(zhí)行這兩個(gè)代理方法就行稿黍。太簡(jiǎn)單這里不做累述了
實(shí)現(xiàn)代理的方法:
- (UIViewController *)previewingContext:(id)previewingContext viewControllerForLocation:(CGPoint)location ;
- (void)previewingContext:(id)previewingContext commitViewController:(UIViewController *)viewControllerToCommit ;
下面是代碼dome集成代碼地址,若果對(duì)你有用的話請(qǐng)給顆星星github.com/TurnMoment/3Dtouch-dome/tree/master/3DTouch-功能集成