日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS手势开发的那点儿事

發(fā)布時(shí)間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS手势开发的那点儿事 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
閑了下來,自己寫寫demo,把iOS有的幾種手勢(shì)大致整理了下: - (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.mImageView = [[UIImageView alloc] initWithFrame:CGRectMake(50, 199, 200, 200)];[mImageView setImage:[UIImage imageNamed:@"wade.jpg"]];mImageView.userInteractionEnabled = YES;//默認(rèn)是關(guān)閉的[self.view addSubview:mImageView];//1.拖動(dòng)手勢(shì)UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];[mImageView addGestureRecognizer:pan];//2.長按手勢(shì)UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPress:)];[mImageView addGestureRecognizer:longPress];//3.輕拍手勢(shì) //numberOfTapsRequired 拍的次數(shù)//numberOfTouchesRequired 幾個(gè)手指頭在拍UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapClick:)];singleTap.numberOfTapsRequired = 1; //[mImageView addGestureRecognizer:singleTap];UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapClick:)];doubleTap.numberOfTapsRequired = 2;singleTap.numberOfTouchesRequired = 3;doubleTap.numberOfTouchesRequired = 3;//雙擊手勢(shì)檢測(cè)失敗才會(huì)觸發(fā)單擊手勢(shì)相應(yīng)的操作,不加這句,當(dāng)用戶響應(yīng)的是雙擊手勢(shì)的時(shí)候,會(huì)觸發(fā)單擊手勢(shì)然后會(huì)觸發(fā)雙擊手勢(shì)(其實(shí)是不要單擊手勢(shì)的)[singleTap requireGestureRecognizerToFail:doubleTap];[mImageView addGestureRecognizer:doubleTap];//4.放大縮小手勢(shì)UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinch:)];[mImageView addGestureRecognizer:pinch];//5.旋轉(zhuǎn)手勢(shì)UIRotationGestureRecognizer *rotation = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotation:)];[mImageView addGestureRecognizer:rotation];//6.滑動(dòng)手勢(shì)UISwipeGestureRecognizer *swip = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swip:)];[mImageView addGestureRecognizer:swip];//7.UIScreenEdgePanGestureRecognizer *edge = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(edge:)];[mImageView addGestureRecognizer:edge]; }- (void)handlePan:(UIPanGestureRecognizer *)panGest {CGPoint translation = [panGest translationInView:self.view];panGest.view.center = CGPointMake(panGest.view.center.x + translation.x, panGest.view.center.y + translation.y);[panGest setTranslation:CGPointZero inView:self.view]; }- (void)longPress:(UILongPressGestureRecognizer *)recognizer {UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, mImageView.frame.size.width, 50)];label.backgroundColor = [UIColor redColor];[mImageView addSubview:label]; }- (void)tapClick:(UITapGestureRecognizer *)recognizer {if (recognizer.numberOfTapsRequired == 1) {UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, mImageView.frame.size.width, 50)];label.backgroundColor = [UIColor blueColor];[mImageView addSubview:label];}else if (recognizer.numberOfTapsRequired == 2) {UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, mImageView.frame.size.width, 100)];label.backgroundColor = [UIColor yellowColor];[mImageView addSubview:label];}}- (void)pinch:(UIPinchGestureRecognizer *)recognizer {recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);recognizer.scale = 1;//這個(gè)是必須要設(shè)置的 }- (void)rotation:(UIRotationGestureRecognizer *)recognizer {recognizer.view.transform = CGAffineTransformRotate(recognizer.view.transform, recognizer.rotation);recognizer.rotation = 0; }- (void)swip:(UISwipeGestureRecognizer *)recognizer {recognizer.numberOfTouchesRequired = 2;recognizer.direction = UISwipeGestureRecognizerDirectionRight; }- (void)edge:(UIScreenEdgePanGestureRecognizer *)recognizer {recognizer.edges = UIRectEdgeRight;if (UIGestureRecognizerStateBegan == recognizer.state || UIGestureRecognizerStateChanged == recognizer.state) {CGPoint translation = [recognizer translationInView:recognizer.view];[UIView animateWithDuration:0.5 animations:^{mImageView.center = CGPointMake(self.view.center.x + translation.x, mImageView.center.y);}];} }

總結(jié)

以上是生活随笔為你收集整理的iOS手势开发的那点儿事的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。