北京時間9月10日凌晨, Apple在美國舊金山比爾格拉漢姆公民大禮堂(Bill Graham Civic Auditorium)召開新品發布會。本次着重介紹了3D Touch功能, 大體介紹一下:
- 增強版的Force Touch(壓力觸控)技術,Force Touch之前被應用在於Apple Watch
- 根據力度的不同,從而帶來更多樣化的用戶體驗。比如,用力按快進按鈕會使快進的速度更快、用力度觸摸代替了長按拖拽選項、用力按屏幕時用戶可以自行調節應用界面等
- 在點擊、滑動、縮放的基礎上,為iPhone引入了兩種新手勢:預覽(Peek)和敲擊(Pop)。該功能可以讓圖片、郵件、信息和其他內容浮到屏幕的最表面,同時使其他內容出現虛化效果。內容突出顯示效果隨手指按壓力度變化
- 通過與Retina屏幕集成的電容傳感器實現,可以通過檢測玻璃與背光的距離感知手指力度大小
- 目前支持3D Touch的設備只有 iPhone 6s 和 iPhone 6s Plus,即使配有Apple Pencil的強大如iPad Pro,也是不支持。不過按照Apple一貫的做法,之后再新出的加強版iPad Pro,應該是會整合該功能
- 3D Touch功能默認是開啟的,但用戶也可以在系統設置中把它關掉(Settings > General > Accessibility > 3D Touch)
- 支持3D Touch的最低系統要求為 iOS 9,開發人員則需要至少使用XCode 7 GM,目前的最新版為XCode 7.1 Beta
和開發人員關系比較密切的部分:
- Pressure Sensitivity:壓力靈敏度,可以和繪畫類及其它創作型軟件結合使用,例如根據壓力的大小來改變筆觸/畫線的粗細值。主要為UITouch類增加了一些新屬性,例如estimatedProperties(觸摸屬性),updatedProperties(觸摸對象更新)等,新增的API,主要集中在獲取X/Y坐標時的精度部分,如 - PreciseLocationInView:,- PrecisePreviousLocationInView:等,有個需要特別注意的是UIForceTouchCapability,使用功能前,必須進行功能可用性檢測
- Peek and Pop:新引入的手勢,主要可以讓用戶預覽內容,甚至進行操作。例如Mac中的文檔預覽快捷鍵,瀏覽器中的快照內容等
- Quick Actions:快捷菜單,完整名稱是Home Screen Quick Actions,類似於電腦中的右鍵菜單,主要用於快捷操作,這個從它的API名字就可以看出來:UIApplicationShortcutItem。正如Apple描述的那樣,讓用戶使用更少的操作步驟,更快的進行他們最常用的操作使用,總結一句就是“一鍵操作”。該部分也分了2個類型:靜態 & 動態;其中靜態方式在info.plist中進行配置;動態則通過UIApplicationShortcutItem等API進行代碼級動態配置處理。系統默認會優先展示靜態的Actions。若App安裝后從未打開時,則默認只會展示靜態Actions,只有至少完整啟動一次之后,動態Actions才會出現。該部分之后會抽時間專門介紹一下。
圖1 Quick Actions
小細節
- 在支持3D Touch功能的真機設備中,當Touch壓力發生改變的時候,系統會調用 touchesMoved: API方法。這樣導致的一個問題就是,在touch move事件中,X/Y坐標可能是沒有發生改變的~~~建議App中最好兼容准備
- iPad Pro中搭配Apple Pencil之后,App的刷新率會發生改變。例如原本是 20/s,搭配Apple Pencil之后,則會變成 40/s。刷新率的提升可能是為了獲取X/Y坐標時更加精確,但對於App的UI界面更新會造成影響,例如頻繁的生成/刪除內存對象等。
- 目前3D Touch 只能在真機設備中進行測試,模擬器中暫時無法進行調試/測試~~
- 目前國外已有開發者使用其他方式在低版本(iOS 9以下)系統中模擬出了類似 Quick Actions效果,感興趣的可以搜索
參考鏈接
- https://developer.apple.com/ios/3d-touch/