iOS常用手势

来源:互联网 发布:qq音乐网络好声音 编辑:程序博客网 时间:2024/05/22 02:54

iOS里面提供了7个手势
轻拍,平移,轻扫,缩放,旋转,长按,屏幕边界

- (void)viewDidLoad {    [super viewDidLoad];    //UIImageView 默认关闭用户响应    self.rv.imageView.userInteractionEnabled = YES;#pragma mark -- 轻拍手势    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];    [self.rv.imageView addGestureRecognizer:tap];#pragma mark --长按手势    UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longAction:)];    longPress.minimumPressDuration = 1;    [self.rv.imageView addGestureRecognizer:longPress];#pragma mark ---- 旋转手势    UIRotationGestureRecognizer *rotation = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotationAction:)];    [self.rv.imageView addGestureRecognizer:rotation];#pragma mark -----捏合(缩放)    UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchAction:)];    [self.rv.imageView addGestureRecognizer:pinch];#pragma mark ------平移    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panAction:)];    [self.rv.imageView addGestureRecognizer:pan];}//轻拍手势的响应事件- (void)tapAction:(UITapGestureRecognizer *)sender{    self.rv.imageView.image = [UIImage imageNamed:@"2"];}//长按- (void)longAction:(UILongPressGestureRecognizer *)sender{    if (sender.state == UIGestureRecognizerStateBegan) {        NSLog(@"别摸我");    }    if (sender.state == UIGestureRecognizerStateEnded) {        NSLog(@"让你别摸你就别摸啊,这么听话啊");    }}//旋转的响应事件- (void)rotationAction:(UIRotationGestureRecognizer *)sender{    self.rv.imageView.transform = CGAffineTransformRotate(self.rv.imageView.transform, sender.rotation);    //重置旋转角度    sender.rotation = 0; }//捏合缩放响应事件- (void)pinchAction:(UIPinchGestureRecognizer *)sender{    sender.view.transform = CGAffineTransformScale(sender.view.transform, sender.scale, sender.scale);    sender.scale = 1;}//平移- (void)panAction:(UIPanGestureRecognizer *)sender{    CGPoint point = [sender translationInView:sender.view];    sender.view.transform = CGAffineTransformTranslate(sender.view.transform, point.x, point.y);    //将偏移量归零    [sender setTranslation:CGPointZero inView:sender.view];}
0 0
原创粉丝点击