iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 17
1
Mobile Development

IOS App開發學習日誌系列 第 17

DAY17 UIGestureRecognizer

  • 分享至 

  • xImage
  •  

IOS當中有許多特有的手勢讓我們達到某些控制的效果,我們可以使用UIGestureRecognizer來達成
分別為Tap、LongPress、Swipe、Pan、Pinch及Rotation

Tap

先在viewController把tap後要做的事情建立成obj func以供後續呼叫
https://ithelp.ithome.com.tw/upload/images/20191003/20120980dpB9X3EM18.png
在viewdidload()中加入以下程式碼
https://ithelp.ithome.com.tw/upload/images/20191003/20120980r0ZasiZXVM.png

  • action為觸發此手勢後的method
  • numberOfTapsRequired表示點擊的次數,故此處為點擊一下觸發
  • numberOfTouchesRequired為幾指點擊,故此處為單指點擊
  • self.views.addGestureRecognizer(tap)為將這個手勢加到views中

LongPress

把長按開始以及結束時要做的事情建立成obj func
https://ithelp.ithome.com.tw/upload/images/20191003/20120980HYeb4dveL4.png
在viewdidload()中加入以下程式碼
https://ithelp.ithome.com.tw/upload/images/20191003/201209808XQ56dJQR2.png

Swipe

把向不同方向滑動時要做的事情建立成obj func
https://ithelp.ithome.com.tw/upload/images/20191003/20120980PXWyNpx77k.png
在viewdidload()中加入以下程式碼
https://ithelp.ithome.com.tw/upload/images/20191003/20120980SWAwKnd8MJ.png
direction為滑動的方向可選擇.up、.down、.right、.left

Pan

先將拖拉時要做的事建立成objc func,並在viewdidload()中加入以下程式碼
https://ithelp.ithome.com.tw/upload/images/20191003/20120980nohTa6NsIK.png
在觸發的method pan中傳入值UIPanGestureRecognizer的參數:

  • state:縮放的狀態,有.changed、.began、.ended
  • scale:縮放的比例

Rotation

在viewdidload()中加入以下程式碼
https://ithelp.ithome.com.tw/upload/images/20191003/201209809XprGn1F7j.png
在觸發的method pan中傳入值UIPanGestureRecognizer的參數rotation為旋轉的弧度


上一篇
Day16 Date
下一篇
Day18 RadioButton
系列文
IOS App開發學習日誌30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言