添加3Dtouch功能其实很简单
自从phone6s开始使用3Dtouch功能,有些公司的项目就要求加入这个功能。下面就和小伙伴们简单聊一下3Dtouch的快速集成。
1.首先你需要在你的appdelegate方法里面创建快捷项(UIApplicationShortcutItem)
创建UIApplicationShortcutItem的方法有两种:
1.在info.plist中添加 UIApplicationShortcutItems 下面添加
2.第二种方法就是就是直接在appdelegate里面使用代码创建
第一种创建方式:
第二种代码:
UIApplicationShortcutIcon *icon = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeAlarm];
UIApplicationShortcutItem *item = [[UIApplicationShortcutItem alloc] initWithType:@"shortcutTypeTwo" localizedTitle:@"two" localizedSubtitle:nil icon:icon userInfo:nil];
2.快捷项创建好了之后下面就需要实现3Dtouch的执行方法了:代码示例
- (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图标上的3Dtouch功能就ok了。页面上的3Dtouch功能只要页面服从(UIViewControllerPreviewingDelegate)并执行这两个代理方法就行。太简单这里不做累述了
实现代理的方法:
- (UIViewController *)previewingContext:(id)previewingContext viewControllerForLocation:(CGPoint)location ;
- (void)previewingContext:(id)previewingContext commitViewController:(UIViewController *)viewControllerToCommit ;
下面是代码dome集成代码地址,若果对你有用的话请给颗星星github.com/TurnMoment/3Dtouch-dome/tree/master/3DTouch-功能集成