iOS之實現3D Touch

發表於2016-03-31

3D Touch簡介

2015年,蘋果釋出了iOS9以及iphone6s/iphone6s Plus,其中最具有創新的就是新的觸控方式3D Touch,相對於多點觸控在平面二維空間的操作,3D Touch技術增加了對力度和手指面積的感知,可以通過長按快速預覽、檢視你想要的簡訊、圖片或者超連結等內容,Peek和Pop手勢的響應時間可迅捷到 10ms和15ms等。

3D Touch三大模組

1. Home Screen Quick Actions
2. Peek、Pop
3. Force Properties

3D Touch實現

3D Touch實現起來不算難,就是實現需要硬體的支援,只能在6s/6s p等上面可以測試體驗,模擬器是不能的, ShortcutItem主要由Item型別,主標題,副標題、圖示,還可新增一些附加資訊,每個App最多新增4個快捷鍵。
操作 – 用手指用力按壓Appicon,會出現類似的選單快捷鍵(ShortcutItem),附上Demo的效果圖(Home Screen Quick Actions)

按壓icon.png
1. Home Screen Quick Actions

生成選單 – 按壓icon彈出快捷鍵的實現方法分為靜態選單、動態選單等2種。

. 靜態選單 – 配置專案的.plist檔案
目前Xcode版本的plist檔案還沒對應的key來獲取,則 需要使用者自己來手動輸入UIApplicationShortcutItemsNSArray型別 – 內部都是字典– 對應 – 每個item);字典內一些key的解釋:
UIApplicationShrtcutItemSubtitle (副標題)
UIApplicationShrtcutItemTitle( 必填)(可監聽該項判斷使用者是從哪一個標籤進入App)
UIApplicationShortcutItemType( 必填)(可監聽該項判斷使用者是從哪一個標籤進入App)
UIApplicationShrtcutItemIconType(圖示)(系統提供了29種樣式的圖示)
UIApplicationShrtcutItemIconFile(自定義圖片的檔案路徑)- 直接傳入圖片的名字即可
注意:若是設定了自定義的圖片 則系統的不再生效

.plist配置.png

. 動態選單 – 程式碼實現快捷選單,動態新增方法需要程式碼執行一次,因此靜態方法比動態方法優先載入

實現點選選單ShortcutItem對應的item跳轉到對應的頁面

2. Peek、Pop

經過授權的應用檢視控制器可響應使用者不同的按壓力量,隨著按壓力量的增加,會有三個互動階段:
1.暗示預覽功能可用,會有一個虛化的效果
2.Peek:重按一下後出現的預覽,展示預覽的檢視以及快捷選單
3.Pop:跳轉到預覽的檢視控制器,是在Peek後進一步按壓後進入預覽的檢視控制器

首先需遵守代理協議UIViewControllerPreviewingDelegate

具體實現

peek預覽.png

在還沒觸發Pop,上劃預覽檢視,則下面可去設定一些選項

peek設定預覽的一些觸發操作.png
3. Force Properties

iOS9.0為我們提供了一個新的互動引數:力度。我們可以檢測某一互動的力度值,來做相應的互動處理

 

依據按壓力度畫圓.png

依據按壓力度大小改變控制器view的背景顏色.png

整體效果圖

3D Touch

基本上涉及到3D Touch的知識點就上面這些吧,也可以看下官網的3D Touch

相關文章