首页 > 代码库 > UIPanGestureRecognizer
UIPanGestureRecognizer
Configuring the Gesture Recognizer
@property(nonatomic) NSUInteger maximumNumberOfTouches//The maximum number of fingers that can be touching the view for this gesture to be recognized.@property(nonatomic) NSUInteger minimumNumberOfTouches//The minimum number of fingers that can be touching the view for this gesture to be recognized.
Tracking the Location and Velocity of the Gesture
- (CGPoint)translationInView:(UIView *)view//The translation of the pan gesture in the coordinate system of the specified view.平移的距离。设置后速度为0.- (void)setTranslation:(CGPoint)translation inView:(UIView *)view//设置平移的距离- (CGPoint)velocityInView:(UIView *)view//速度。 which is expressed in points per second.
例子
方法1:
CGFloat translationX = [pan translationInView:self.view].x; pan.view.center = CGPointMake(pan.view.center.x+translationX, pan.view.center.y); [pan setTranslation:CGPointZero inView:self.view];
方法2:
CGPoint translation = [recognizer translationInView:recognizer.view];case UIGestureRecognizerStateBegan: { [recognizer setTranslation:CGPointMake(recognizer.view.frame.origin.x, 0) inView:recognizer.view]; break; } case UIGestureRecognizerStateChanged: { [recognizer.view setTransform:CGAffineTransformMakeTranslation(MAX(0,translation.x), 0)]; [self statusBarView].transform = recognizer.view.transform; break; }
目前看来,translationInView的参数是attach的view还是其父view关系不大。每次的translation都是与上次的叠加。因此如果每次设置为0,则累加坐标即可。否则要用setTransform。
UIPanGestureRecognizer
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。