3D Touch
是苹果iOS9
推出的新特性,同样是iPhone6s和6sPlus的一个新功能。之前的苹果设备则不能实现这样的功能。它的出现使app更加便捷化,能够让用户快速的定位到目的页面。
实现3D Touc
h功能有静态和动态两种:
静态
只需要在info.plist
文件进行简单的键值配置就行(我还是比较习惯使用代码,这样比较灵活且不易出错)
UIApplicationShortcutItemType
点击事件唯一标识符,用来判断点击的是哪个元素UIApplicationShortcutItemTitle
标题UIApplicationShortcutItemSubtitle
副标题,在标题的下方UIApplicationShortcutItemIconType
选取系统的图标类型(枚举)UIApplicationShortcutItemIconFile
自定义图标(35*35,单色图片),如果设置这个属性,那么UIApplicationShortcutItemIconType
将失效
注意:UIApplicationShortcutItemType
和UIApplicationShortcutItemTitle
为必填,其它为选填
动态
在需要的时候进行创建,不需要的时候取消已经存在的。(微信的“收付款”功能就是动态的)
1 | //日历 |
用力按压app图标时,上面的元素就已经能够显示出来了。
Item事件
1 | - (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler{ |
以上代码我都写在AppDelegate.m文件中,仅供参考和理解。
注意:
kScreen_width
是宏定义#define kScreen_width ([UIScreen mainScreen].bounds.size.width)
实际效果:
- 系统限制每个App最多显示4个Item,其它无效。
- 静态创建和动态创建同时存在的情况下,优先显示静态创建。
UIApplicationShortcutIconType
是系统给的一个枚举类型,里面有多种图标样式供我们选择。