您的位置:首页 > 移动开发 > IOS开发

【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呼出快捷菜单,进行快速定位相关功能页面



Peek和Pop

Peek快速选项

2.2 3DTouch开发-创建

这里主要讲解的是
主屏幕快速选项(Home Screen Quick Action)
,其他的稍后会进行补充

iOS9提供了两种
主屏幕快速选项
的创建方式:1:
静态标签
;2
动态标签


静态标签

静态标签需要在项目的配置plist文件中进行配置,在用户安装程序后就可以使用,并且排序会在动态标签的前面。



以上plist文件的截图对应的效果如下



参数解释

Name解释是否必须
UIApplicationShortcutItemType设置类型字符串,点击后以便在程序中处理
UIApplicationShortcutItemTitlecentered
UIApplicationShortcutItemSubtitle标签的副标题
UIApplicationShortcutItemIconType(Icon类型)系统枚举值
UIApplicationShortcutItemIconFileIcon文件
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/

欢迎您的访问...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: