美文网首页
iOS手势操作

iOS手势操作

作者: yymyb | 来源:发表于2016-03-14 21:59 被阅读253次

    //向左向右轻划

    UISwipeGestureRecognizer *swipeLeft=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipeLeft)];

    swipeLeft.direction = UISwipeGestureRecognizerDirectionLeft;

    [self.view addGestureRecognizer:swipeLeft];

    //    [swipeLeft release];

    UISwipeGestureRecognizer *swipeRight=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipeRight)];

    swipeRight.direction = UISwipeGestureRecognizerDirectionRight;

    [self.view addGestureRecognizer:swipeRight];

    //    [swipeRight release];

    //单指单击

    UITapGestureRecognizer *singleFingerOne = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleFingerEvent:)];

    singleFingerOne.numberOfTouchesRequired = 1; //手指数

    singleFingerOne.numberOfTapsRequired = 1; //tap次数

    //    singleFingerOne.delegate = self;

    [self.view addGestureRecognizer:singleFingerOne];

    //单指双击

    UITapGestureRecognizer *singleFingerTwo = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleFingerEvent:)];

    singleFingerTwo.numberOfTouchesRequired = 1;

    singleFingerTwo.numberOfTapsRequired = 2;

    //    singleFingerTwo.delegate = self;

    [self.view addGestureRecognizer:singleFingerTwo];

    //双指单击和双击

    UITapGestureRecognizer *doubleFingerOne = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleFingerEvent:)];

    doubleFingerOne.numberOfTouchesRequired = 2;

    doubleFingerOne.numberOfTapsRequired = 1;

    //    doubleFingerOne.delegate = self;

    UITapGestureRecognizer *doubleFingerTwo = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleFingerEvent:)];

    doubleFingerTwo.numberOfTouchesRequired = 2;

    doubleFingerTwo.numberOfTapsRequired = 2;

    //    doubleFingerTwo.delegate = self;

    [self.view addGestureRecognizer:doubleFingerOne];

    [self.view addGestureRecognizer:doubleFingerTwo];

    //如果不加下面的话,当单指双击时,会先调用单指单击中的处理,再调用单指双击中的处理

    [singleFingerOne requireGestureRecognizerToFail:singleFingerTwo];

    //同理双指亦是如此

    [doubleFingerOne requireGestureRecognizerToFail:doubleFingerTwo];

    }

    //事件处理方法:

    - (void)handleSingleFingerEvent:(UITapGestureRecognizer *)sender

    {

    if (sender.numberOfTapsRequired == 1) {

    //单指单击

    NSLog(@"单指单击");

    }else if(sender.numberOfTapsRequired == 2){

    //单指双击

    NSLog(@"单指双击");

    }

    }

    //处理双指事件

    - (void)handleDoubleFingerEvent:(UITapGestureRecognizer *)sender

    {

    if (sender.numberOfTapsRequired == 1) {

    //双指单击

    NSLog(@"双指单击");

    }else if(sender.numberOfTapsRequired == 2){

    //双指双击

    NSLog(@"双指双击");

    }

    }

    相关文章

      网友评论

          本文标题:iOS手势操作

          本文链接:https://www.haomeiwen.com/subject/otiflttx.html