3DTouch 是iOS9系统系统下,在iPhone6s(iPhone6s Plus)手机上才可以使用的功能。熟练使用后,发现仍是很便捷的。html
可是模拟器是不支持这个手势的。只能在真机上进行测试,可是有大神在Github开源了一个插件,以便在模拟器上使用SBShortcutMenuSimulator,具体教程能够自行查看。ios
经过主屏幕的应用图标,能够经过3DTouch呼出快捷菜单,进行快速定位相关功能页面git
Peek和Popgithub
Peek快速选项app
这里主要讲解的是主屏幕快速选项(Home Screen Quick Action)
,其余的稍后会进行补充测试
iOS9提供了两种主屏幕快速选项
的建立方式:1:静态标签
;2动态标签
ui
静态标签须要在项目的配置plist文件中进行配置,在用户安装程序后就能够使用,而且排序会在动态标签的前面。.net
以上plist文件的截图对应的效果以下插件
参数解释3d
Name | 解释 | 是否必须 |
---|---|---|
UIApplicationShortcutItemType | 设置类型字符串,点击后以便在程序中处理 | 是 |
UIApplicationShortcutItemTitle | centered | 是 |
UIApplicationShortcutItemSubtitle | 标签的副标题 | 否 |
UIApplicationShortcutItemIconType | (Icon类型)系统枚举值 | 否 |
UIApplicationShortcutItemIconFile | Icon文件 | 否 |
UIApplicationShortcutItemUserInfo | 字典信息(用于传值) | 否 |
TODO
iOS9之后在AppDelegate
增长了回调方法
-(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler { }
咱们能够在这里进行逻辑处理
能够经过shortcutItem.type
来获取UIApplicationShortcutItemType
类型,进而能够得知点击的菜单,进行逻辑代码的书写。
同时,在咱们的App方法:didFinishLaunchingWithOptions
中咱们能够取得UIApplicationShortcutItemType
的值
UIApplicationShortcutItem *item = [launchOptions valueForKey:UIApplicationLaunchOptionsShortcutItemKey]; item.type//取到的也是`UIApplicationShortcutItemType`的值 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { }
这样咱们能够进行逻辑处理并在didFinishLaunchingWithOptions
返回NO,防止处理逻辑被反复回调。
项目源码,详见https://github.com/darren90/EasyNote - 这是我已经写好的完成的笔记记录的项目,欢迎Star关注。
参考:
【文档】在iPhone上使用3D Touch - Apple 3D Touch 开发API文档的中文版
做者:Darren
微博:@IT_攻城师
github:@Darren90
博客:http://www.cnblogs.com/fengtengfei/
欢迎您的访问...