ios之点击操作(单双指单双击)

来源:互联网 发布:数据可视化展示方案 编辑:程序博客网 时间:2024/04/17 05:23
//单指单击2: UITapGestureRecognizer *singleFingerOne = [[UITapGestureRecognizer alloc] initWithTarget:self3: action:@selector(handleSingleFingerEvent:)];4: singleFingerOne.numberOfTouchesRequired = 1; //手指数5: singleFingerOne.numberOfTapsRequired = 1; //tap次数6: singleFingerOne.delegate = self;7:8: //单指双击9: UITapGestureRecognizer *singleFingerTwo = [[UITapGestureRecognizer alloc] initWithTarget:self10: action:@selector(handleSingleFingerEvent:)];11: singleFingerTwo.numberOfTouchesRequired = 1;12: singleFingerTwo.numberOfTapsRequired = 2;13: singleFingerTwo.delegate = self;14:15: //双指单击16: UITapGestureRecognizer *doubleFingerOne = [[UITapGestureRecognizer alloc] initWithTarget:self17: action:@selector(handleDoubleFingerEvent:)];18: doubleFingerOne.numberOfTouchesRequired = 2;19: doubleFingerOne.numberOfTapsRequired = 1;20: doubleFingerOne.delegate = self;21:22: UITapGestureRecognizer *doubleFingerTwo = [[UITapGestureRecognizer alloc] initWithTarget:self23:    action:@selector(handleDoubleFingerEvent:)];24: doubleFingerTwo.numberOfTouchesRequired = 2;25: doubleFingerTwo.numberOfTapsRequired = 2;26: doubleFingerTwo.delegate = self;27:28: //如果不加下面的话,当单指双击时,会先调用单指单击中的处理,再调用单指双击中的处理29: [singleFingerOne requireGestureRecognizerToFail:singleFingerTwo];30: //同理双指亦是如此31: [doubleFingerOne requireGestureRecognizerToFail:doubleFingerTwo];32:33: [self.view addGestureRecognizer:singleFingerOne];34: [self.view addGestureRecognizer:singleFingerTwo];35: [self.view addGestureRecognizer:doubleFingerOne];36: [self.view addGestureRecognizer:doubleFingerTwo];37:38: [singleFingerOne release];39: [singleFingerTwo release];40: [doubleFingerOne release];41: [doubleFingerTwo release];处理事件的方法,代码:1: //处理单指事件2: - (void)handleSingleFingerEvent:(UITapGestureRecognizer *)sender3: {4: if (sender.numberOfTapsRequired == 1) {5: //单指单击6: NSLog(@"单指单击");7: }else if(sender.numberOfTapsRequired == 2){8: //单指双击9: NSLog(@"单指双击");10: }11: }12: //处理双指事件13: - (void)handleDoubleFingerEvent:(UITapGestureRecognizer *)sender14: {15: if (sender.numberOfTapsRequired == 1) {16: //双指单击17: NSLog(@"双指单击");18: }else if(sender.numberOfTapsRequired == 2){19: //双指双击20: NSLog(@"双指双击");21: }22: }将相应代码复制到你的工程中即可使用,由于代码中已经有详细的解释说明,这里就不在重复解释了。代码中只是列举了单指与双指对于单击或多击的处理,同理多指的操作需修改numberOfTouchesRequired属性,对点击的次数需修改numberOfTapsRequired属性。
0 0