赶需求期间,想着别人应用都搞起3DTouch功能了,咱也来装逼一会,凸显下逼格。
废话少说,先搜索了前人的热心奉献,自己再动手丰衣足食,下面归纳总结下。
首先,想要体验3DTouch功能,必须至少得是iPhone6s iPhone6s plus的机型,没有的就去借,去偷,去抢,去跟老板申请测试机吧。
不过有牛人搞了个模拟器也能支持3DTouch功能,具体查看https://github.com/DeskConnect/SBShortcutMenuSimulator
以下总结由于作者懒,就不贴啥动图了,基本是静态截图。
3DTouch目前在手机上有两种体现方式,一种是用力按下app的图片icon,会弹出选项菜单,就像电脑上的右键。一种是在应用内的界面上用力按下,弹出的预览界面。
接下来就以这两种效果分别说明如何使用3DTouch功能。
一、iocn按下效果
这里有两种方式实现:
1、通过plist文件静态设置
- UIApplicationShortcutItemUserInfo信息
- UIApplicationShortcutItemIconFile图标名称
- UIApplicationShortcutItemIconType图标类型
- UIApplicationShortcutItemTitle标题
- UIApplicationShortcutItemSubTitle副标题
然后在AppDelegate里面实现代理方法,通过绑定的标签type来实现具体代码。
- -(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler
- {
- UINavigationController *nav = (UINavigationController *)self.window.rootViewController;
- if([shortcutItem.type isEqualToString:@"ONE"]){
- UIViewController *vc = [[UIViewController alloc] init];
- vc.title = @"第一个";
- vc.view.backgroundColor = [UIColor redColor];
- [nav pushViewController:vc animated:YES];
- }else if ([shortcutItem.type isEqualToString:@"TWO"]){
- UIViewController *vc = [[UIViewController alloc] init];
- vc.title =