iOS9上实现3D Touch功能之快速启动
2016-03-02 15:57
555 查看
实现3D Touch快速启动功能有两种方式,一种是静态标签,一种是动态标签。
1、静态标签的实现
静态标签的实现是直接在plist文件中配置相关参数就能实现了。
![](http://img.blog.csdn.net/20160302160347794?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
UIApplicationShortcutItems数组是快速启动项的集合,有几个子项就有多少个快速启动项(不超过四个)
UIApplicationShortcutItemType是设置启动项的标识
UIApplicationShortcutItemTitle是设置快速启动项的名称
UIApplicationShortcutItemIconType是用于设置icon
2、动态标签的实现
动态标签的实现就是用纯代码实现。
finishLaunchingWithOptions代理中设置快速启动项。
UIApplicationShortcutIcon初始化快速启动项的icon,在使用自定义的icon时,请参考https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/3DTouch.html#//apple_ref/doc/uid/TP40006556-CH71-SW1。icon的标准是70 * 70@2x,104*104
@3x
UIApplicationShortcutItem是启动项的一个实例,用initWithType:localizedTitle:localizedSutitle:icon:userInfo实现。参数分别表示标识、标题、副标题和icon。
初始化启动项后,将其加入到UIApplication中的shortcutItems数组中。
3D Touch快速启动在appDelegate中有一个必须实现的代理:
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completHandler:(void (^)(BOOL))completionHandler{}
在3D Touch快速启动的代理中比较UIApplicationShortcutItem的type属性与启动项的标识,进而进行相关的处理。
![](http://img.blog.csdn.net/20160302163639181?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在launchingWithOptions代理中需要对是否从快速启动项启动程序进行判断,在launchOptions有个UIApplicationLaunchOptionsShortcutItemKey关键字可以判断程序是否从快速启动项启动的。([launchOptions objectForKeyedSubscript:UIApplicationLaunchOptionsShortcutItemKey] != nil)如果程序是从快速启动项启动的,则return
NO用来阻止performActionForShortcutItem:completionHandler代理的运行,直接进行快速启动项的逻辑处理。
这是效果图
![](http://img.blog.csdn.net/20160302164746164?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
此功能只支持6S机型及以上。
1、静态标签的实现
静态标签的实现是直接在plist文件中配置相关参数就能实现了。
UIApplicationShortcutItems数组是快速启动项的集合,有几个子项就有多少个快速启动项(不超过四个)
UIApplicationShortcutItemType是设置启动项的标识
UIApplicationShortcutItemTitle是设置快速启动项的名称
UIApplicationShortcutItemIconType是用于设置icon
2、动态标签的实现
动态标签的实现就是用纯代码实现。
finishLaunchingWithOptions代理中设置快速启动项。
UIApplicationShortcutIcon初始化快速启动项的icon,在使用自定义的icon时,请参考https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/3DTouch.html#//apple_ref/doc/uid/TP40006556-CH71-SW1。icon的标准是70 * 70@2x,104*104
@3x
UIApplicationShortcutItem是启动项的一个实例,用initWithType:localizedTitle:localizedSutitle:icon:userInfo实现。参数分别表示标识、标题、副标题和icon。
初始化启动项后,将其加入到UIApplication中的shortcutItems数组中。
3D Touch快速启动在appDelegate中有一个必须实现的代理:
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completHandler:(void (^)(BOOL))completionHandler{}
在3D Touch快速启动的代理中比较UIApplicationShortcutItem的type属性与启动项的标识,进而进行相关的处理。
在launchingWithOptions代理中需要对是否从快速启动项启动程序进行判断,在launchOptions有个UIApplicationLaunchOptionsShortcutItemKey关键字可以判断程序是否从快速启动项启动的。([launchOptions objectForKeyedSubscript:UIApplicationLaunchOptionsShortcutItemKey] != nil)如果程序是从快速启动项启动的,则return
NO用来阻止performActionForShortcutItem:completionHandler代理的运行,直接进行快速启动项的逻辑处理。
这是效果图
此功能只支持6S机型及以上。
相关文章推荐
- iOS- 指压即达,如何集成iOS9里的3D Touch
- iOS中属性的声明
- Cordova 系列之创建一个iOS项目
- iOS中的__block 与__weak
- 关于iOS多线程,你看我就够了
- iOS、mac开源项目及库汇总
- ios vlc
- 用CocoaPods做iOS程序的依赖管理
- iOS-银行卡四位数分隔效果
- iOS 各种控件默认高度(图示)
- iOS利用系统打电话和发短信
- FFmpeg解析视频保存为yuv
- iOS 代理为啥要用weak修饰? (刨根问底一)
- iOS播放系统声音
- 最简单的iOS真机抓包方式
- iOS SDWebImage使用详解
- IOS--GCD基础
- iOS 函数调用的流程
- iOS中设置导航栏标题( titleView)的字体颜色和大小
- 通过 itms-services 协议,发布或者分享 iOS 应用程序