1.当子视图超出自己的frame时,是否剪切子视图
self.clipsToBounds=
YES;
2.是否开启多点触控
self.multipleTouchEnabled =YES;
3.拿到在屏幕上点击手指的个数必须开启多点触控
NSInteger count = touches.count;
4.拿到一个touch对象
UITouch *touch = touches.anyObject;
拿到点击次数
NSInteger tapCount =
touch.tapCount;
5.延迟调用:[self
performSelector:@selector(singleTap) withObject:nil afterDelay:0.5];
6.取消执行某个方法
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(singleTap)
object:nil];
7.分配事件
- (void)sendEvent:(UIEvent*)event
{
- (void)sendEvent:(UIEvent*)event
{
[supersendEvent:event];
}
8.通过响应者链寻找控制器
- (UIViewController*)viewController
{
UIResponder *next =self.nextResponder;
do {
//判断响应者是否是视图控制器
if ([next isKindOfClass:[UIViewControllerclass]]) {
return (UIViewController*)next;
}
//如果没有找到控制器,那么继续往下一层响应者去找
next = next.nextResponder;
} while (next);
return nil;
- (UIViewController*)viewController
{
UIResponder *next =self.nextResponder;
do {
//判断响应者是否是视图控制器
if ([next isKindOfClass:[UIViewControllerclass]]) {
return (UIViewController*)next;
}
//如果没有找到控制器,那么继续往下一层响应者去找
next = next.nextResponder;
} while (next);
return nil;
}
9.一个点击手势,只能识别一种手势,单击和双击是不同的两个手势
10.设置点击的数量
tap1.numberOfTapsRequired =1;
设置点击的个数
tap1.numberOfTouchesRequired =1;
11.如果参数中的手势出发了,则自身失效(tap1与tap2 互斥)
[tap1requireGestureRecognizerToFail:tap2];
12.