iOS 3D touch開發 Force Properties-按壓力度

iOS 3D touch開發(三) Force Properties-按壓力度

3D touch介紹

3D touch 是ios9+、iphone6s+的新功能,簡單的說3Dtouch就是用力按壓,通過3Dtouch增加了一組手勢交互方式。

3D touch主要常見的使用:

1:Home Screen Quick Actions (主屏快捷行為入口)

2:peek and pop (預覽和彈出)

3: Web view peek and pop API (HTML鏈接預覽功能)

4:Force Properties (按壓力度)

前一篇文章介紹了peek and pop (預覽和彈出)和Web view peek and pop API,本文主要介紹Force Properties (按壓力度)

介紹

ios9中添加在UITouch中添加了2個屬性,用于感知手指按下的力度

force : 手指按下的力度

maximumPossibleForce : 最大可能的力度

有了這兩個屬性,就可以做出更多的用戶體驗,比如繪畫時候可以根據按下的力度去選擇筆觸的粗細等等

代碼實現

我寫個簡單的demo,在上一篇文章的詳細頁面中追加代碼,手指按住詳細頁中的UIView時,手指在屏幕上慢慢增加力度在減少力度,可以看到view背景色的變化。

進入詳細頁的方式: table隨便選擇一個cell,用力touch彈出預覽,再次用力touch進入details頁

代碼:

我們修改UIVIewController的touchesMoved方法,獲取到touch對象和force,maximumPossible數據,然后用這個數據重新構造背景色。

overridefunctouchesMoved(touches:Set,withEventevent:UIEvent?){iftraitCollection.forceTouchCapability==.Available{lettouch=touches.firstNSLog("\nforce:%f,maximumPossibleForce:%ff",touch!.force,touch!.maximumPossibleForce)view.backgroundColor=UIColor(red:0.5,green:0.5,blue:(touch?.force)!/(touch?.maximumPossibleForce)!,alpha:100)}}

demo

本文的demo下載

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 前言 關于這篇文章 由于iPhone 6S發布不到一年的時間,很多新特性、新技術還未普遍,不管是3D Touch的...
    Tangentw閱讀 4,556評論 8 18
  • 前言 關于3D touch蘋果官方文檔是這么開始介紹的: 大意如下:iOS9開始,所有新的手機都增加了一個三維的用...
    VV木公子閱讀 2,255評論 3 39
  • 專著:http://www.lxweimin.com/p/3443a3b27b2d 1.簡單的介紹一下3D Touc...
    violafa閱讀 1,040評論 1 0
  • 1.簡單的介紹一下3D Touch 3D Touch的觸控技術,被蘋果稱為新一代多點觸控技術。其實,就是此前在Ap...
    Camille_chen閱讀 12,102評論 19 33
  • 3D Touch簡介 2015年,蘋果發布了iOS9以及iphone6s/iphone6s Plus,其中最具有創...
    愛恨的潮汐閱讀 390評論 0 2