IOS手势识别

手势识别:手机设备判断使用者的屏幕是手势操作

基础类:UIGestureRecognizer

所属框架:UIKit


1. 基本手势类型(UIGestureRecognizer子类型)

-轻击(UITapGestureRecognizer)

@property NSUInteger numberOfTapsRequired;//设置单击还是双击
@property NSUInteger numberOfTouchsRequired;//设置要求几根手指

-捏合(UIPinchGestureRecognizer)

@property CGFloat scale;

-旋转(UIRotationGestureRecognizer)

@property CGFloat rotation;

-轻扫(UISwipeGestureRecognizer):快速移动,是用于监测滑动的方向

@property UISwipeGestureRecognizerDirection direction;
@property NSUInteger numberOfTouchesRequire;

-拖拽(UIPanGestureRecognizer):拖移,慢速移动,用于监测偏移的量

-(CGPoint)translationInView:(UIView*)view;
-(void)setTranslation:(CGPoint)translation inView:(UIView*)view;

-长按(UILongPressGestureRecognizer)


2. 手势状态

@property (readonly) UIGestureRecognizerState state;
默认是possible状态,当非连续的手势发生时,状态会变为recognized;

当连续有效的手势发生时,状态会变为began;

如果手势持续发生,状态会变为changed,然后最终变为ended;

当recognizer发现手势取消的时候会收到cancelled状态;

要注意任何时候手势状态都又可能变为failed,所以应该持续监控;

状态类型如下:

UIGestureRecognizerStatePossible
UIGestureRecognizerStateBegan
UIGestureRecognizerStateChanged
UIGestureRecognizerStateEnded
UIGestureRecognizerStateCancelled
UIGestureRecognizerStateFailed
UIGestureRecognizerStateRecognized


3. 代码实现

两步:

1. 给UIVIew添加gesture recognizer

UIPanGestureRecognizer* pangr = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];
[self.view addGestureRecognizer:pinch];

2. 实现手势事件的处理函数

-(void)pan:(UIPanGestureRecognizer*)recognizer {
    CGPoint point = [recognizer translationInView:self.view];
    self.view.transform = CGAffineTransformTranslate(self.view.transform, point.x, point.y);
    [recognizer setTranslation:CGPointZero inView:self.view];
}


}








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值