【iOS9系列】-3DTouch开发
2016-01-02 23:09
501 查看
【iOS9系列】-3DTouch开发
第一:简介
3DTouch 是iOS9系统系统下,在iPhone6s(iPhone6s Plus)手机上才能够使用的功能。熟练使用后,发现还是很便捷的。但是模拟器是不支持这个手势的。只能在真机上进行测试,但是有大神在Github开源了一个插件,以便在模拟器上使用SBShortcutMenuSimulator,具体教程可以自行查看。
第二:3D Touch入门
2.1 基本类型
主屏幕快速选项(Home Screen Quick Action)通过主屏幕的应用图标,可以通过3DTouch呼出快捷菜单,进行快速定位相关功能页面
![](http://darren90.github.io/png/3dtouch_1.png)
Peek和Pop
Peek快速选项
2.2 3DTouch开发-创建
这里主要讲解的是主屏幕快速选项(Home Screen Quick Action),其他的稍后会进行补充
iOS9提供了两种
主屏幕快速选项的创建方式:1:
静态标签;2
动态标签
静态标签
静态标签需要在项目的配置plist文件中进行配置,在用户安装程序后就可以使用,并且排序会在动态标签的前面。
![](http://darren90.github.io/png/3dtouch_2.png)
以上plist文件的截图对应的效果如下
![](http://darren90.github.io/png/3dtouch_3.png)
参数解释
Name | 解释 | 是否必须 |
---|---|---|
UIApplicationShortcutItemType | 设置类型字符串,点击后以便在程序中处理 | 是 |
UIApplicationShortcutItemTitle | centered | 是 |
UIApplicationShortcutItemSubtitle | 标签的副标题 | 否 |
UIApplicationShortcutItemIconType | (Icon类型)系统枚举值 | 否 |
UIApplicationShortcutItemIconFile | Icon文件 | 否 |
UIApplicationShortcutItemUserInfo | 字典信息(用于传值) | 否 |
TODO
2.3 3DTouch开发-相应回调
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关注。
参考:
iOS9系列专题一——3D Touch
在iOS9中使用3D Touch
【文档】在iPhone上使用3D Touch - Apple 3D Touch 开发API文档的中文版
作者:Darren
微博:@IT_攻城师
github:@Darren90
博客:http://www.cnblogs.com/fengtengfei/
欢迎您的访问...
相关文章推荐
- iOS9 开发新特性 Spotlight使用(转)
- iOS拍照和视频录制
- iOS音频开发
- ios多线程
- 如何处理iOS中照片的方向
- iOS开发-消息转发
- iOS 代理设计模式
- iOS中viewController的三种创建方式
- iOS 设备尺寸以及图标尺寸
- 蓝懿iOS 技术交流和心得分享16.1.2
- iOS完全自学手册——[二]Hello World工程
- IOS:被误解的MVC和被神化的MVVM
- 联想因为Lenovo Service Engine BIOS再一次陷入麻烦
- IOS中的深拷贝和浅拷贝
- iOS中imageNamed 和 imageWithContentOfFile的区别
- iOS不同版本适配问题(#ifdef __IPHONE_7_0)
- IOS7:学习笔记2
- iOS学习一_Xcode初体验
- CALayer - 9
- IOS VLC 播放器 开发 滑动快进和后退