3D touch

之前在實習(xí)的時候調(diào)研3d touch,并將其應(yīng)用到項目中,現(xiàn)在整理一下,放在這邊,歡迎大家討論^0^

3D Touch三大模塊

1.Home screen quick actions

在主屏幕按壓應(yīng)用圖標(biāo)快速獲取到進入某些應(yīng)用功能的菜單

注:在xcode7以上都可以支持3D touch的開發(fā),但是模擬機不能進行調(diào)試,但是通過https://github.com/DeskConnect/SBShortcutMenuSimulator中指示,可以在模擬機中調(diào)試?Home screen quick actions,但是對于以下兩個模塊只能在真機調(diào)試。

development environment


2.Peek and Pop

交互過程分為三個步驟

1)輕壓UI元素,周圍界面變模糊,提示用戶這邊3d touch中peek可用

2)深按一會,會彈出該元素的預(yù)覽視圖

3)再用力按住,即可全部進入視圖;若視圖上有交互控件,通過向上滑動,可以進一步操作

3.Force Properties

通過檢測交互的力度值來做相應(yīng)的交互處理;比如通過力度控制快進的快慢。

3D Touch APIs

ios9中提供的API根據(jù)其功能使用分為四類

Home screen quick action API?? 針對主屏幕應(yīng)用圖標(biāo)的按壓

UIKit peek and pop API??????????????對元素按壓進行預(yù)覽,向上滑動快捷操作

Web view peek and pop API??????網(wǎng)頁鏈接進行預(yù)覽,操作

UITouch force properties????????????檢測力度進行交互

這邊主要調(diào)研 第二類UIKit peek and pop API

1.UIViewController類中增加了新方法,可以注冊viewController可適用3d touch,也可撤銷注冊

registerForPreviewingWithDelegate:?sourceView:

unregisterForPreviewingWithContext:(id<UIViewControllerPreviewing> _Nonnull)previewing;

2.Controller類需要實現(xiàn)UIViewControllerPreviewingDelegate protocol

@required

- previewingContext:viewControllerForLocation:??用于響應(yīng)用戶輕按后提供預(yù)覽視圖

@required

- previewingContext:commitViewController: 用戶再用力按后完全進入預(yù)覽視圖

3.UIViewController中增加新方法 可以返回在預(yù)覽視圖中增加 快捷操作

-? (NSArrayUIPreviewActionItem>> * _Nonnull)previewActionItems

4.還有一些其他的類和協(xié)議

UIPreviewAction、UIPreviewActionGroup

UIPreviewActionItem protocol、UIViewControllerPreviewing protocol

demo實現(xiàn)

1.檢測3D touch是否可用,注冊viewController使用3D touch

check 3d touch available

2.實現(xiàn)UIViewControllerPreviewingDelegate protocol 方法

preview

previewingContext.sourceRect 是指 用戶輕按時,需要顯示的部分,周圍視圖都將變模糊

3.定義預(yù)覽視圖中的快捷操作

pop show action

參考資料

官方3D Touch文檔

實現(xiàn)Home screen quick actions例子說明

實現(xiàn)Peek and Pop例子說明

鏈接預(yù)覽實現(xiàn)

3d touch原理說明

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 關(guān)于這篇文章 由于iPhone 6S發(fā)布不到一年的時間,很多新特性、新技術(shù)還未普遍,不管是3D Touch的...
    Tangentw閱讀 4,744評論 8 18
  • 前言 關(guān)于3D touch蘋果官方文檔是這么開始介紹的: 大意如下:iOS9開始,所有新的手機都增加了一個三維的用...
    VV木公子閱讀 2,389評論 3 39
  • 專著:http://www.itdecent.cn/p/3443a3b27b2d 1.簡單的介紹一下3D Touc...
    violafa閱讀 1,100評論 1 0
  • 3D Touch 給iOS9的用戶一個維度的交互。在支持的設(shè)備上,人們能夠在主屏幕界面通過按壓應(yīng)用程序圖標(biāo),快速的...
    Jack__yang閱讀 677評論 0 2
  • 1.簡單的介紹一下3D Touch 3D Touch的觸控技術(shù),被蘋果稱為新一代多點觸控技術(shù)。其實,就是此前在Ap...
    Camille_chen閱讀 12,369評論 19 33

友情鏈接更多精彩內(nèi)容