版本記錄
版本號(hào) | 時(shí)間 |
---|---|
V1.0 | 2018.10.27 星期六 |
前言
3D Touch是一種立體觸控技術(shù)勋锤,被蘋果稱為新一代多點(diǎn)觸控技術(shù),是在Apple Watch上采用的Force Touch沼瘫,屏幕可感應(yīng)不同的感壓力度觸控琅锻。3D Touch,蘋果iPhone 6s以后的機(jī)型中出現(xiàn)的新功能誊辉,看起來(lái)類似 PC 上的右鍵矾湃。有Peek Pop 兩種新手勢(shì)。2015年9月10日芥映,蘋果在新品發(fā)布會(huì)上宣布了3D Touch功能洲尊。Force Touch和3Dtouch其實(shí)是基于同一種技術(shù),且都基于蘋果的Taptic引擎奈偏,但是不管你承不承認(rèn)或者有沒(méi)有意識(shí)到坞嘀,3D Touch的確更優(yōu)于Force Touch。接下來(lái)這個(gè)專題我們就看一下3D Touch相關(guān)的內(nèi)容惊来。感興趣的可以看下面幾篇文章丽涩。
1. 3D Touch相關(guān)(一) —— 基于3D Touch的Peek 和 Pop(一)
2. 3D Touch相關(guān)(二) —— 3D Touch簡(jiǎn)介(一)
3D Touch APIs
iOS 9提供以下3D Touch API:
- Home screen quick action API - 主屏幕快速操作API。用于為您的應(yīng)用圖標(biāo)添加快捷方式裁蚁,并加速用戶與您的應(yīng)用的互動(dòng)矢渊。
- 通過(guò)UIKit peek and pop API,您可以在應(yīng)用程序中輕松訪問(wèn)其他內(nèi)容枉证,同時(shí)保持用戶的上下文矮男。 使用peek快速動(dòng)作API為您的應(yīng)用程序的
touch-and-hold
操作提供按下啟用的替換。 - Web view peek and pop API允許您啟用系統(tǒng)介導(dǎo)的HTML鏈接目標(biāo)預(yù)覽室谚。
-
UITouch force properties毡鉴,您可以向應(yīng)用添加基于
force
的用戶的自定義交互。
無(wú)論您采用哪種API秒赤,您的應(yīng)用都必須在運(yùn)行時(shí)檢查3D Touch的可用性猪瞬。
Checking for 3D Touch Availability - 檢查3D Touch可用性
要在運(yùn)行時(shí)檢查設(shè)備是否支持3D Touch,請(qǐng)?jiān)谔卣骷现凶x取具有特征環(huán)境的任何對(duì)象的forceTouchCapability屬性值(請(qǐng)參閱UITraitEnvironment Protocol Reference)入篮。 用戶可以在應(yīng)用程序運(yùn)行時(shí)關(guān)閉3D Touch陈瘦,因此請(qǐng)閱讀此屬性作為traitCollectionDidChange:代理方法實(shí)現(xiàn)的一部分。
為確保您的所有用戶都可以訪問(wèn)您應(yīng)用的功能潮售,請(qǐng)根據(jù)3D Touch是否可用來(lái)分支您的代碼痊项。 如果可用锅风,請(qǐng)利用3D Touch功能。 當(dāng)它不可用時(shí)线婚,提供替代方案遏弱,例如通過(guò)使用UILongPressGestureRecognizer類實(shí)現(xiàn)的touch and hold
。
有關(guān)如何使用支持3D Touch的設(shè)備增強(qiáng)應(yīng)用程序交互的建議塞弊,同時(shí)不要讓其他用戶落后漱逸,請(qǐng)參閱iOS Human Interface Guidelines
。
Home Screen Quick Actions
iOS 9支持主屏幕靜態(tài)和動(dòng)態(tài)快速操作游沿。
-
Static quick actions - 應(yīng)用程序安裝后饰抒,用戶可立即使用靜態(tài)快速操作。在UIApplicationShortcutItems數(shù)組中的應(yīng)用程序的
Info.plist
文件中定義主屏幕靜態(tài)快速操作诀黍。 - Dynamic quick actions - 首次啟動(dòng)后袋坑,用戶可以使用動(dòng)態(tài)快速操作。使用UIApplicationShortcutItem, UIMutableApplicationShortcutItem和UIApplicationShortcutIcon類定義主屏幕動(dòng)態(tài)快速操作眯勾。使用shortcutItems屬性向應(yīng)用程序的共享UIApplication對(duì)象添加動(dòng)態(tài)快速操作枣宫。
iOS 9最多可為您的應(yīng)用顯示四個(gè)主屏幕快速操作。在此限制范圍內(nèi)吃环,系統(tǒng)首先顯示靜態(tài)快速操作也颤,從菜單中的最頂部位置開(kāi)始。如果靜態(tài)項(xiàng)目沒(méi)有耗盡限制并且您還定義了動(dòng)態(tài)快速操作郁轻,則會(huì)顯示一個(gè)或多個(gè)動(dòng)態(tài)快速操作翅娶。
主屏幕靜態(tài)和動(dòng)態(tài)快速操作最多可以顯示兩行文本和一個(gè)圖標(biāo)。系統(tǒng)格式化文本好唯,包裝文本竭沫,對(duì)齊文本,并根據(jù)需要添加省略號(hào)骑篙。對(duì)于快速操作的圖標(biāo)蜕提,請(qǐng)使用通過(guò)UIApplicationShortcutIcon類的iconWithType:類方法提供的系統(tǒng)模板圖標(biāo)之一。如果您想使用自定義圖標(biāo)靶端,它必須是模板(即類似模板)圖像谎势,您可以使用該類的iconWithTemplateImageName:類方法創(chuàng)建該圖像。
主屏幕快速操作功能支持Voice Over
躲查。
有關(guān)實(shí)現(xiàn)主屏幕快速操作的詳細(xì)信息它浅,請(qǐng)閱讀以下材料:
Home Screen Quick Actions and Template Icons in *iOS Human Interface Guidelines
- ApplicationShortcuts: Using UIApplicationShortcutItems* (sample code)
- UIApplicationShortcutItems in Information Property List Key Reference
- UIApplicationShortcutItem Class Reference
- UIMutableApplicationShortcutItem Class Reference
- UIApplicationShortcutIcon Class Reference
UIKit Peek and Pop
iOS 9允許您為peek的用戶功能配置視圖控制器译柏,當(dāng)用戶按下指定視圖時(shí)提供其他內(nèi)容的預(yù)覽镣煮,并pop
,提交查看該內(nèi)容并導(dǎo)航到該內(nèi)容鄙麦。
為了支持3D Touch功能設(shè)備上的peek and pop
典唇,iOS 9 SDK包括:
- UIViewController類中的新方法镊折,用于注冊(cè)和取消注冊(cè)視圖控制器以參與3D Touch
- 支持3D Touch的新
view controller
協(xié)議
您可以選擇配置預(yù)覽視圖控制器,以包含一組peek
快速操作或深入鏈接到您的應(yīng)用程序介衔。用戶可以通過(guò)向上滑動(dòng)來(lái)獲得peek
快速動(dòng)作恨胚。
為了支持peek
快速操作,iOS 9 SDK包括:
- 新的UIPreviewAction和UIPreviewActionGroup類
- 新的UIPreviewActionItem協(xié)議
有關(guān)實(shí)現(xiàn)peek and pop
以及實(shí)施peek
快速操作的詳細(xì)信息炎咖,請(qǐng)閱讀以下材料:
-
iOS Human Interface Guidelines
中的3D Touch - UIViewController Class Reference中的registerForPreviewingWithDelegate:sourceView:和unregisterForPreviewingWithContext:方法的描述
- UIViewControllerPreviewingDelegate Protocol Reference赃泡,描述上下文對(duì)象為啟用3D Touch的視圖控制器采用的接口
- UIViewControllerPreviewing Protocol Reference,描述用于響應(yīng)用戶強(qiáng)制觸摸提供預(yù)覽視圖控制器(用戶術(shù)語(yǔ))的界面乘盼,以及用于提供提交視圖控制器(pop升熊,用戶術(shù)語(yǔ))以響應(yīng)更深的按壓預(yù)覽
-
UIPreviewAction Class Reference,描述了一個(gè)
peek
快速動(dòng)作 - UIPreviewActionGroup Class Reference绸栅,描述了類似于子菜單的快速動(dòng)作分組
-
UIPreviewActionItem Protocol Reference级野,描述了
peek
快速操作和組所采用的接口 - ViewControllerPreviews: Using the UIViewController previewing APIs(示例代碼)
Web View Peek and Pop
在Web視圖中,您可以使用新的allowsLinkPreview
屬性為鏈接和檢測(cè)到的數(shù)據(jù)啟用peek and pop
粹胯。在iOS 9中蓖柔,此屬性在推薦的WKWebView類(在WebKit框架中)和較舊的UIWebView類(在UIKit框架中)中可用。
使用Safari Services
框架中的SFSafariViewController(Safari視圖控制器)類自動(dòng)peek and pop
鏈接和檢測(cè)到的數(shù)據(jù)风纠。
Force Properties in UITouch Objects
UITouch類有兩個(gè)新屬性可支持應(yīng)用程序中3D Touch的自定義實(shí)現(xiàn):force和maximumPossibleForce况鸣。 iOS設(shè)備上首次使用這些屬性可以檢測(cè)并響應(yīng)應(yīng)用程序收到的UIEvent對(duì)象中的觸摸壓力。
在iPhone上议忽,觸摸力具有很高的動(dòng)態(tài)范圍懒闷,可作為應(yīng)用程序的浮點(diǎn)值。
有關(guān)使用force
值提供3D Touch自定義實(shí)現(xiàn)的詳細(xì)信息栈幸,請(qǐng)閱讀以下材料:
- UITouch Class Reference中force和maximumPossibleForce屬性的描述
- TouchCanvas: Using UITouch efficiently and effectively(示例代碼)
后記
本篇主要講述了采用3D Touch愤估,感興趣的給個(gè)贊或者關(guān)注~~~