3D Touch 簡(jiǎn)單應(yīng)用與分析

1.什么是3D Touch?

3D Touch屬于一種人機(jī)交互的一種方式,具體點(diǎn)用戶與手機(jī)屏幕的一種交互方式。在3D Touch出現(xiàn)前看看現(xiàn)有的一些用戶與手機(jī)屏幕的交互方式有哪些?

現(xiàn)有的交互方式:點(diǎn)按,雙擊,長(zhǎng)按,捏合,旋轉(zhuǎn),拖動(dòng),輕掃,快速滑動(dòng)

官方介紹:iOS Human Interface GuidelinesBeta Gesture

總結(jié)以上的交互都是在一個(gè)二維的界面上根據(jù)接觸的區(qū)域、時(shí)間、速度、方向,次數(shù)等維度,計(jì)算得出一種用戶的手勢(shì)操作

3D Touch是從一個(gè)新的維度出創(chuàng)建一種交互方式

3D Touch是觸摸屏的壓力感應(yīng)功能。是在二維的Multi-Touch觸摸屏基礎(chǔ)上添加了可以對(duì)用戶按壓屏幕的力度大小作出響應(yīng)于反饋的功能。3D Touch不是Apple的一個(gè)使用壓力感應(yīng)的產(chǎn)品,之前已經(jīng)在MacBook和Apple Watch上使用,不過之前的叫Force Touch.Force Touch是3D Touch的雛形。他只可以區(qū)分輕觸和重壓。

官方介紹:iOS Human Interface GuidelinesBeta 3D Touch

這里提及一下Android平臺(tái)上的壓力感應(yīng)功能。華為 128GB Mate S支持Force Touch技術(shù),這是Force Touch 第一次應(yīng)用在手機(jī)(比蘋果還早,蘋果之前使用在了電腦上)。Synaptics(新思國(guó)際)提供完整的解決方案Clear Force。

2.3D Touch應(yīng)用場(chǎng)景分析

應(yīng)用外的快速導(dǎo)航

在桌面時(shí),用力按app icon,會(huì)彈出一個(gè)快速導(dǎo)航的列表,點(diǎn)擊相應(yīng)的選項(xiàng)會(huì)進(jìn)入相應(yīng)的頁(yè)面

應(yīng)用內(nèi)的預(yù)覽于選擇

某音樂類APP 首頁(yè)點(diǎn)擊一個(gè)歌單,會(huì)有這個(gè)歌單的預(yù)覽于一些操作

3.3D Touch Demo

以上講的都是一些感念于效果表現(xiàn),現(xiàn)在是代碼層面的分析。主要是以下四種情況:

Home Screen Quick Actions? (應(yīng)用外的快速導(dǎo)航)

Static quick actions靜態(tài)標(biāo)簽

Static quick actions are available to the userimmediately upon app installation. Define Home screen static quick actions in your app’sInfo.plistfile in theUIApplicationShortcutItemsarray.

就是在info.plist的文件中添加UIApplicationShortcutItems數(shù)組就可以使用了,具體數(shù)組里面的配置下面會(huì)有說明,還有一點(diǎn)需要強(qiáng)調(diào)的是,使用靜態(tài)標(biāo)簽是程序安裝以后就可以立即使用了。

UIApplicationShortcutItemType(required) 這個(gè)鍵值設(shè)置一個(gè)快捷通道類型的字符串

UIApplicationShortcutItemTitle(required) 這個(gè)鍵值設(shè)置標(biāo)簽的標(biāo)題

UIApplicationShortcutItemSubtitle 設(shè)置標(biāo)簽的副標(biāo)題

UIApplicationShortcutItemIconType 設(shè)置標(biāo)簽Icon類型

UIApplicationShortcutItemIconFile設(shè)置標(biāo)簽的Icon文件

UIApplicationShortcutItemUserInfo 設(shè)置信息字典(用于傳值)

Dynamic quick actions動(dòng)態(tài)標(biāo)簽

Dynamic quick actions are available to the userafter first launch. Define Home screen dynamic quick actions with theUIApplicationShortcutItem,UIMutableApplicationShortcutItem, andUIApplicationShortcutIconclasses. Add dynamic quick actions to your app’s shared UIApplication object using theshortcutItemsproperty.

動(dòng)態(tài)標(biāo)簽是在程序初始化之后,才可以去配置的,UIApplicationShortcutItem, UIMutableApplicationShortcutItem, and UIApplicationShortcutIcon classes這3個(gè)類創(chuàng)建一個(gè)標(biāo)簽,UIApplication的shortcutItems管理整個(gè)app的標(biāo)簽。

動(dòng)態(tài)標(biāo)簽需要注意的兩點(diǎn):1.動(dòng)態(tài)的標(biāo)簽修改不了已有的靜態(tài)標(biāo)簽2.動(dòng)態(tài)標(biāo)簽初始化一次以后會(huì)保留在shortcutItems不需要每次都創(chuàng)建

Home Screen Quick Actions?的樣式


標(biāo)簽的個(gè)數(shù)是有限制的,最多4個(gè)

圖標(biāo)在那邊展示是系統(tǒng)根據(jù)當(dāng)前app icon的位置決定的,會(huì)自動(dòng)調(diào)整,圖標(biāo)只能使用系統(tǒng)的圖片或者是打包在bundle中的圖片。

Home Screen Quick Actions?的響應(yīng)方法

類似推送,當(dāng)我們點(diǎn)擊標(biāo)簽進(jìn)入應(yīng)用程序時(shí),也可以進(jìn)行一些操作,我們可以在AppDelegate中增加了這樣一個(gè)方法,在方法中可以做一些頁(yè)面跳轉(zhuǎn)等需求:

- (void)application:(UIApplication*)application performActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItem completionHandler:(void(^)(BOOL))completionHandler;

UIKit Peek and Pop

To supportpeek and popon 3D Touch-capable devices, the iOS 9 SDK includes:

New methods in theUIViewControllerclass forregisteringandunregisteringa view controller for participation in 3D Touch

New view controller protocols (UIViewControllerPreviewingDelegate) to support 3D Touch

To supportpeek quick actions, the iOS 9 SDK includes:

The newUIPreviewActionandUIPreviewActionGroupclasses

The newUIPreviewActionItemprotocol

增加了一個(gè)protocol UIViewControllerPreviewingDelegate

在UIViewController類中增加了注冊(cè)和取消注冊(cè)的Delegate的方法

具體看代碼demo

Web View Peek and Pop

safari瀏覽器,3D Touch一個(gè)鏈接時(shí)

導(dǎo)入WebKit的文件,


創(chuàng)建一個(gè)WKWebView對(duì)象,設(shè)置allowsLinkPreview=true

WKWebView和SFSafariViewController#importWKWebView *webView =

[[WKWebView alloc]initWithFrame:self.view.bounds];

[self.view addSubview:webView];

[webView loadRequest:

[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://www.baidu.com/"]]];

// 需要設(shè)置為true才有預(yù)覽的功能

webView.allowsLinkPreview = true;

safari瀏覽器

Force Properties in UITouch Objects

3D Touch在UITouch類中增加了兩個(gè)屬性force?和maximumPossibleForce

The force of the touch, where a value of 1.0 represents the force of an average touch (predetermined by the system, not user-specific). (read-only)

Force反應(yīng)當(dāng)前壓力的大小,1.0標(biāo)示平均值。如果使用 Apple Pencil時(shí),還需要計(jì)算altitudeAngle

The maximum possible force for a touch. (read-only)

maximumPossibleForce是Force的最大值

如果你監(jiān)控touchesBegan,touchesMoved,touchesEnded這3個(gè)放回就可以拿到UITouch,從而回到到這兩個(gè)屬性值。

使用UITouch中的3D Touch的force屬性實(shí)現(xiàn)的畫筆效果

自己寫的demo,文中的展示的程序也使用了apple文檔中的程序,以下的鏈接中找到。

寫這篇文章時(shí)引用的資料鏈接

2015年蘋果秋季新品發(fā)布會(huì)(中文翻譯)

一張圖讓你了解3D Touch與Force Touch區(qū)別

Getting Started with 3D Touch

3D Touch開發(fā)初體驗(yàn)(模擬器使用3DTouch)

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

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

  • 前言 關(guān)于這篇文章 由于iPhone 6S發(fā)布不到一年的時(shí)間,很多新特性、新技術(shù)還未普遍,不管是3D Touch的...
    Tangentw閱讀 4,735評(píng)論 8 18
  • 3D Touch介紹 從iPhone 6s開始,產(chǎn)品都添加了一項(xiàng)硬件屬性,叫做3D touch。作為屏幕的一部分,...
    歪筆書生_閱讀 706評(píng)論 0 0
  • 前言 關(guān)于3D touch蘋果官方文檔是這么開始介紹的: 大意如下:iOS9開始,所有新的手機(jī)都增加了一個(gè)三維的用...
    VV木公子閱讀 2,379評(píng)論 3 39
  • 專著:http://www.itdecent.cn/p/3443a3b27b2d 1.簡(jiǎn)單的介紹一下3D Touc...
    violafa閱讀 1,094評(píng)論 1 0
  • 一、3D Touch 介紹 3D Touch 是 Apple 推出的通過壓力感觸區(qū)分輕按和重按來進(jìn)行不同的用戶交互...
    Magician閱讀 672評(píng)論 1 6

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