IOS开发中手势响应的部分代码




#import "RootViewController.h"

@interface RootViewController ()

@end


@implementation RootViewController


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}


- (void)viewDidLoad
{
    self.view.backgroundColor=[UIColor redColor];
    //对touchView属性进行赋值
    _touchView=[[TouchView alloc]initWithFrame:CGRectMake(40,40,100,100)];
    _touchView.backgroundColor=[UIColor yellowColor];
    //_touchView.multipleTouchEnabled=YES;
    [self.view addSubview:_touchView];
    
    UIGestureRecognizer *tap=[[UIGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)];
    [_touchView addGestureRecognizer:tap];
    //收放手势
    UIPinchGestureRecognizer *pinch=[[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinchAction:)];
    [_touchView addGestureRecognizer:pinch];
    //拖放手势
    UIPanGestureRecognizer *pan=[[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(panAction:)];
    [_touchView addGestureRecognizer:pan];
    //旋转手势
    UISwipeGestureRecognizer *swipe=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeAction:)];
    [_touchView addGestureRecognizer:swipe];
    //长按手势
    UILongPressGestureRecognizer *longPree=[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPressAction:)];
    [_touchView addGestureRecognizer:longPree];
    
    [super viewDidLoad];
    
}
//长按
-(void)longPressAction:(UILongPressGestureRecognizer*)sender{
    CGFloat scale;
    if (_touchView.tag==0) {
        scale=2.0;
        _touchView.tag=1;
    }
    else{
        scale=0.5;
        _touchView.tag=0;
    }
    sender.view.transform=CGAffineTransformScale(sender.view.transform,scale,scale);
}
//旋转
-(void)swipeAction:(UISwipeGestureRecognizer*)sender{
    NSLog(@"图标被旋转");
    switch (sender.direction) {
        case UISwipeGestureRecognizerDirectionDown:
            NSLog(@"向下扫");
            break;
            case UISwipeGestureRecognizerDirectionLeft:
            NSLog(@"向左扫");
            break;
            case UISwipeGestureRecognizerDirectionRight:
            NSLog(@"向右扫");
            break;
            case UISwipeGestureRecognizerDirectionUp:
            NSLog(@"向上扫");
            break;
        default:
            break;
    }
}
//拖拉
-(void)panAction:(UIPanGestureRecognizer*)sender
{
    if (sender.state==UIGestureRecognizerStateChanged) {
        [_touchView setCenter:[sender locationInView:self.view]];
    }
    else if (sender.state==UIGestureRecognizerStateEnded){
        _touchView.backgroundColor=[UIColor cyanColor];
    }
    NSLog(@"图标移动了");
}
//收放
-(void)pinchAction:(UIPinchGestureRecognizer*)sender{
    sender.view.transform=CGAffineTransformScale(sender.view.transform,sender.scale,sender.scale);
    //收放结束返回原来的大小
    sender.scale=1.0f;
    NSLog(@"图标被收放了");
}
//点击
-(void)tapAction:(UIGestureRecognizer*)sender{
    NSLog(@"图像被点击了");
    _touchView.backgroundColor=[UIColor yellowColor];
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值