国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > iOS > 正文

ios的手勢(shì)操作之UIGestureRecognizer淺析(推薦)

2020-07-26 03:02:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、概述

iPhone中處理觸摸屏的操作,在3.2之前是主要使用的是由UIResponder而來(lái)的如下4種方式:

 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

但是這種方式甄別不同的手勢(shì)操作實(shí)在是麻煩,需要你自己計(jì)算做不同的手勢(shì)分辨。后來(lái)。。。

蘋果就給出了一個(gè)比較簡(jiǎn)便的方式,就是使用UIGestureRecognizer。

二、UIGestureRecognizer

UIGestureRecognizer基類是一個(gè)抽象類,我們主要是使用它的子類(名字包含鏈接,可以點(diǎn)擊跳到iOS Developer library,看官方文檔):

  1. UITapGestureRecognizer
  2. UIPinchGestureRecognizer
  3. UIRotationGestureRecognizer
  4. UISwipeGestureRecognizer
  5. UIPanGestureRecognizer
  6. UILongPressGestureRecognizer

從名字上我們就能知道, Tap(點(diǎn)擊)、Pinch(捏合)、Rotation(旋轉(zhuǎn))、Swipe(滑動(dòng),快速移動(dòng),是用于監(jiān)測(cè)滑動(dòng)的方向的)、Pan (拖移,慢速移動(dòng),是用于監(jiān)測(cè)偏移的量的)以及 LongPress(長(zhǎng)按)。

舉個(gè)例子,可以在viewDidLoad函數(shù)里面添加:

-(void) viewDidLoad {  [super viewDidLoad];  // Do any additional setup after loading the view from its nib.  UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanFrom:)];  [self.view addGestureRecognizer:panRecognizer];//關(guān)鍵語(yǔ)句,給self.view添加一個(gè)手勢(shì)監(jiān)測(cè);  panRecognizer.maximumNumberOfTouches = 1;  panRecognizer.delegate = self;  [panRecognizer release]; } 

其它手勢(shì)方法類似。

其核心就是設(shè)置delegate和在需要手勢(shì)監(jiān)測(cè)的view上使用addGestureRecognizer添加指定的手勢(shì)監(jiān)測(cè)。

當(dāng)然要記得在作為delegate的view的頭文件加上<UIGestureRecognizerDelegate>。

不過(guò)有些手勢(shì)是關(guān)聯(lián)的,怎么辦呢?例如 Tap 與 LongPress、Swipe與 Pan,或是 Tap 一次與Tap

主站蜘蛛池模板: 江西省| 石嘴山市| 天长市| 西城区| 惠来县| 运城市| 顺义区| 象山县| 南丰县| 洮南市| 乐业县| 余庆县| 从化市| 嘉黎县| 个旧市| 嫩江县| 孟连| 屏边| 兴化市| 黄陵县| 峨眉山市| 建昌县| 扶余县| 斗六市| 高密市| 页游| 本溪| 九龙县| 邹城市| 治县。| 盐山县| 东光县| 中方县| 定结县| 井研县| 城步| 修文县| 台前县| 长武县| 泾阳县| 全南县|