iOS 3D Touch开发 很良心的版本原创!
来源:互联网 发布:网络基础知识教程视频 编辑:程序博客网 时间:2024/05/16 12:27
之前一直在忙着维护项目,偶然的一天闲着玩手机玩到3Dtouch,看着效果挺不错的
于是就尝试着搜索了一下相关的文案,结果除了官网给的全英文api以外国内的基本都
是互相抄袭,我搜了37篇文章,29篇相似度惊人,而且仅有一个技术网的给出来如何
利用3Dtouch跳转指定页面(还是没处理好的模态)
那今天就来给大家看看3Dtouch的构成
首先说说官方版本的,咱们在plist 文件里面添加,如下:
然后编译,在6s上效果如下:
这就弄好了~挺快的是不?但是这样的做法还是有局限性~那么我们该怎么做呢?
接下来第二个方法:手动创建
- (void)creatIconTouch{
// set item image
UIApplicationShortcutIcon *icon1 = [UIApplicationShortcutIcon iconWithTemplateImageName:@"QR_icon"]; UIApplicationShortcutIcon *icon2 = [UIApplicationShortcutIcon iconWithTemplateImageName:@"search"]; UIApplicationShortcutIcon *icon3 = [UIApplicationShortcutIcon iconWithTemplateImageName:@"refund"]; UIApplicationShortcutIcon *icon4 = [UIApplicationShortcutIcon iconWithTemplateImageName:@"help_icon"]; // create several (dynamic) shortcut items UIMutableApplicationShortcutItem *item = [[UIMutableApplicationShortcutItem alloc]initWithType:@"pay" localizedTitle:@"決済" localizedSubtitle:@"支付" icon:icon1 userInfo:nil]; UIMutableApplicationShortcutItem *item1 = [[UIMutableApplicationShortcutItem alloc]initWithType:@"search" localizedTitle:@"照会" localizedSubtitle:@"查询" icon:icon2 userInfo:nil]; UIMutableApplicationShortcutItem *item2 = [[UIMutableApplicationShortcutItem alloc]initWithType:@"refound" localizedTitle:@"返金" localizedSubtitle:@"退款" icon:icon3 userInfo:nil]; UIMutableApplicationShortcutItem *item3 = [[UIMutableApplicationShortcutItem alloc]initWithType:@"help" localizedTitle:@"ヘルプ" localizedSubtitle:@"帮助" icon:icon4 userInfo:nil]; // add all items to an array NSArray *items = @[item,item1, item2, item3]; // add the array to our app [UIApplication sharedApplication].shortcutItems = items;}这个方法是要放在APPdelegate里面,在didfinishlaunching里面调用就行,效果如下:
(因为是公司项目对外的logo就不宜放出了)
这些创建显示点击都没问题了,但发现没?点击的时候只能进去首页,那接下来大家来看看怎么调到指定页
在iOS9.0以后appdelegat里面有专用的方法:
#pragma mark - 3DTouch Action- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler { // react to shortcut item selections NSLog(@"点击了 %@.", shortcutItem.localizedTitle);}这就是点击事件的方法,到了这一步大家不是说不就跳转呗,写一个模态过nav push进去啊。
no~其实每个开发者都知道,只不过在这里会迷糊,
<span style="font-size:14px;">ViewController * VC = [[ViewController alloc]init]; Nav = [[UINavigationController alloc]initWithRootViewController:VC]; [self.window setRootViewController:Nav];</span>一般来说都这么创建的,然后你就想 self.window.rootViewController.navigationController push 这么跳转?(如果说你的整个项目是模态的话,随意你怎么模态)运行原理来说这样是行不通的,就在你添加的时候,把上面提到的nav设置成属性,按照代码执行顺序,Nav已经是你的window 的rootVC了~所以跳转的时候,如下:(记得判断你的item)
if ([shortcutItem.localizedTitle isEqualToString:@"決済"]) { Payment01Controller * vc = [[Payment01Controller alloc]init]; [Nav pushViewController:vc animated:YES]; }
大功告成,慢慢的玩去吧~之后我会详细的写一篇页面内的3Dtouch,敬请期待
0 0
- iOS 3D Touch开发 很良心的版本原创!
- iOS 3D Touch开发
- iOS 3D touch 开发
- iOS开发 3D Touch的简单使用
- iOS 3D Touch开发tableview页面内的使用
- iOS开发--3D Touch的基本使用
- iOS开发之3D Touch
- iOS开发 3D-touch使用
- iOS开发-------3D Touch之ApplicationShortcutItem
- IOS 3D Touch 开发教程
- iOS 3D Touch 开发 实战
- iOS-3D touch相关开发
- iOS 3D Touch开发介绍
- iOS开发-3D Touch简要总结
- ios 3D Touch
- iOS 3D touch
- iOS 3D Touch
- iOS 3D Touch
- 关系数据库Ormlite
- SQL Server 复制:事务发布
- Android Broadcast
- 【用行动说话】第一篇博客
- K60_enet(1)——PHY与MAC
- iOS 3D Touch开发 很良心的版本原创!
- Sqlite3开发
- Android 短信验证码自动填写
- Strongswan5.3.3与win7 l2tpoverIPsecVPN对接的配置与打印
- cmd 相关命令
- Nil is incompatible with return type ...
- TextSwitcher实现文本自动垂直滚动
- JS判断输入字符串长度(汉字算两个字符,字母数字算一个)
- 杭电ACM2033