3D Touch 簡單應用與分析

1.什么是3D Touch?

3D Touch屬于一種人機交互的一種方式,具體點用戶與手機屏幕的一種交互方式。在3D Touch出現前看看現有的一些用戶與手機屏幕的交互方式有哪些?

現有的交互方式:點按,雙擊,長按,捏合,旋轉,拖動,輕掃,快速滑動

官方介紹:iOS Human Interface GuidelinesBeta Gesture

總結以上的交互都是在一個二維的界面上根據接觸的區域、時間、速度、方向,次數等維度,計算得出一種用戶的手勢操作

3D Touch是從一個新的維度出創建一種交互方式

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

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

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

2.3D Touch應用場景分析

應用外的快速導航

在桌面時,用力按app icon,會彈出一個快速導航的列表,點擊相應的選項會進入相應的頁面

應用內的預覽于選擇

某音樂類APP 首頁點擊一個歌單,會有這個歌單的預覽于一些操作

3.3D Touch Demo

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

Home Screen Quick Actions? (應用外的快速導航)

Static quick actions靜態標簽

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數組就可以使用了,具體數組里面的配置下面會有說明,還有一點需要強調的是,使用靜態標簽是程序安裝以后就可以立即使用了。

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

UIApplicationShortcutItemTitle(required) 這個鍵值設置標簽的標題

UIApplicationShortcutItemSubtitle 設置標簽的副標題

UIApplicationShortcutItemIconType 設置標簽Icon類型

UIApplicationShortcutItemIconFile設置標簽的Icon文件

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

Dynamic quick actions動態標簽

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.

動態標簽是在程序初始化之后,才可以去配置的,UIApplicationShortcutItem, UIMutableApplicationShortcutItem, and UIApplicationShortcutIcon classes這3個類創建一個標簽,UIApplication的shortcutItems管理整個app的標簽。

動態標簽需要注意的兩點:1.動態的標簽修改不了已有的靜態標簽2.動態標簽初始化一次以后會保留在shortcutItems不需要每次都創建

Home Screen Quick Actions?的樣式


標簽的個數是有限制的,最多4個

圖標在那邊展示是系統根據當前app icon的位置決定的,會自動調整,圖標只能使用系統的圖片或者是打包在bundle中的圖片。

Home Screen Quick Actions?的響應方法

類似推送,當我們點擊標簽進入應用程序時,也可以進行一些操作,我們可以在AppDelegate中增加了這樣一個方法,在方法中可以做一些頁面跳轉等需求:

- (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

增加了一個protocol UIViewControllerPreviewingDelegate

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

具體看代碼demo

Web View Peek and Pop

safari瀏覽器,3D Touch一個鏈接時

導入WebKit的文件,


創建一個WKWebView對象,設置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/"]]];

// 需要設置為true才有預覽的功能

webView.allowsLinkPreview = true;

safari瀏覽器

Force Properties in UITouch Objects

3D Touch在UITouch類中增加了兩個屬性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反應當前壓力的大小,1.0標示平均值。如果使用 Apple Pencil時,還需要計算altitudeAngle

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

maximumPossibleForce是Force的最大值

如果你監控touchesBegan,touchesMoved,touchesEnded這3個放回就可以拿到UITouch,從而回到到這兩個屬性值。

使用UITouch中的3D Touch的force屬性實現的畫筆效果

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

寫這篇文章時引用的資料鏈接

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

一張圖讓你了解3D Touch與Force Touch區別

Getting Started with 3D Touch

3D Touch開發初體驗(模擬器使用3DTouch)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,619評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,155評論 3 425
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,635評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,539評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,255評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,646評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,655評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,838評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,399評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,146評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,338評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,893評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,565評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,983評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,257評論 1 292
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,059評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,296評論 2 376

推薦閱讀更多精彩內容

  • 前言 關于這篇文章 由于iPhone 6S發布不到一年的時間,很多新特性、新技術還未普遍,不管是3D Touch的...
    Tangentw閱讀 4,527評論 8 18
  • 3D Touch介紹 從iPhone 6s開始,產品都添加了一項硬件屬性,叫做3D touch。作為屏幕的一部分,...
    歪筆書生_閱讀 627評論 0 0
  • 前言 關于3D touch蘋果官方文檔是這么開始介紹的: 大意如下:iOS9開始,所有新的手機都增加了一個三維的用...
    VV木公子閱讀 2,247評論 3 39
  • 專著:http://www.lxweimin.com/p/3443a3b27b2d 1.簡單的介紹一下3D Touc...
    violafa閱讀 1,024評論 1 0
  • 一、3D Touch 介紹 3D Touch 是 Apple 推出的通過壓力感觸區分輕按和重按來進行不同的用戶交互...
    Magician閱讀 621評論 1 6