手勢的一些注意事項
對于 UITapGestureRecognizer 來說我們一般需要知道該點擊手勢在屏幕中的位置 (locationInView:self)
對于 UIPanGestureRecognizer 來說我們一般需要知道我們的滑動手勢移動了多少距離 (translationInView:pan)
-(void) pan: (UIPanGestureRecognizer * ) pan { CGPoint transP = [pan translationInView: pan.view]; //$1 = (x = 0.73990527317289434, y = 0) CGPoint pont1 = [pan locationInView: self]; //$2 = (x = 198.16665649414063, y = 342.33332824707031) CGPoint pont2 = [pan locationInView: self.imageV]; //$3 = (x = 198.12057060663793, y = 342.61609831987914) pan.view.transform = CGAffineTransformTranslate(pan.view.transform, transP.x, transP.y); //復位 [pan setTranslation: CGPointZero inView: pan.view];}
[UIView animateWithDuration: 0.25 animations: ^ { self.imageView.alpha = 0; }completion: ^ (BOOL finished){ self.imageView.alpha = 1; UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, 0); CGContextRef ctx = UIGraphicsGetCurrentContext(); [self.layer renderInContext: ctx]; UIImage * imageGot = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); [self.imageView removeFromSuperview]; if (self.delegate && [self.delegate respondsToSelector: @selector(handleImageView: didOperatedImage: )]){ [self.delegate handleImageView: self didOperatedImage: imageGot]; } }];
接下來來一個iOS圖形繪制、旋轉、長按、縮放、滑動等綜合手勢的一個 畫圖 項目
源碼地址:https://github.com/FantasticLBP/BlogDemos/tree/master/
以上就是本次我們分享的全部內容,感謝你對VEVB武林網的支持。
新聞熱點
疑難解答