作者:朱克锋
邮箱:zhukefeng@iboxpay.com
转载请注明出处:http://blog.youkuaiyun.com/linux_zkf
IOS中关于触屏的方法有专门的类来操作敲击手势由
UITapGestureRecognizer
来实现
关键代码如下
- (void)viewDidLoad {
[super viewDidLoad];
UITapGestureRecognizer *singleTap =
[[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(tap1)] autorelease];
singleTap.numberOfTapsRequired = 1;
singleTap.numberOfTouchesRequired = 1;
[self.view addGestureRecognizer:singleTap];
UITapGestureRecognizer *doubleTap =
[[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(tap2)] autorelease];
doubleTap.numberOfTapsRequired = 2;
doubleTap.numberOfTouchesRequired = 1;
[self.view addGestureRecognizer:doubleTap];
[singleTap requireGestureRecognizerToFail:doubleTap];
UITapGestureRecognizer *tripleTap =
[[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(tap3)] autorelease];
tripleTap.numberOfTapsRequired = 3;
tripleTap.numberOfTouchesRequired = 1;
[self.view addGestureRecognizer:tripleTap];
[doubleTap requireGestureRecognizerToFail:tripleTap];
UITapGestureRecognizer *quadrupleTap =
[[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(tap4)] autorelease];
quadrupleTap.numberOfTapsRequired = 4;
quadrupleTap.numberOfTouchesRequired = 2;
[self.view addGestureRecognizer:quadrupleTap];
[tripleTap requireGestureRecognizerToFail:quadrupleTap];
}
- (void)tap1 {
NSLog(@"tap");
}
- (void)tap2 {
NSLog(@"tap");
}
- (void)tap3 {
NSLog(@"tap");
}
- (void)tap4 {
NSLog(@"tap");
}
关键点要注意这几行
[singleTap requireGestureRecognizerToFail:doubleTap];
[doubleTap requireGestureRecognizerToFail:tripleTap];
[tripleTap requireGestureRecognizerToFail:quadrupleTap];
这几行是说在没有更高次的敲击时才执行少的次数敲击

被折叠的 条评论
为什么被折叠?



