【iOS9系列】-3DTouch开发

【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动态标签

  1. 静态标签

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

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

参数解释

Name 解释 是否必须
UIApplicationShortcutItemType 设置类型字符串,点击后以便在程序中处理
UIApplicationShortcutItemTitle centered
UIApplicationShortcutItemSubtitle 标签的副标题
UIApplicationShortcutItemIconType (Icon类型)系统枚举值
UIApplicationShortcutItemIconFile Icon文件
UIApplicationShortcutItemUserInfo 字典信息(用于传值)
  1. 动态标签

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关注。

参考:


作者:Darren

微博:@IT_攻城师

github:@Darren90

博客:http://www.cnblogs.com/fengtengfei/

欢迎您的访问...

posted @ 2016-01-02 23:09  Darren.Von  阅读(660)  评论(3编辑  收藏  举报
新浪微博:IT_攻城师,github:darren90(欢迎★star点赞)