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/
歡迎您的訪問...