ScrollView 与 UItableview 发生碰撞
ScrollView collide with UItableview
我的UIScrollView
里面嵌套了一个UITableView
,其中UITableView
有一个左排的手势弹出菜单,现在两个view的手势冲突了。现在的问题是:如何在不改变 UITableView
?
的情况下解决这个问题
PS:我已经设置好了UIScrollView
ScrollEnabled=false
你的问题不同,但你同意你的主要问题是手势之间的冲突,这意味着你无法区分两个视图的手势,
有两种解决方法,你需要在gestureRecognizer委托方法中根据条件接收手势,你可以检查接收到手势的class或者通过检查class或者通过标签
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldReceiveTouch:(UITouch *)touch
{
if([touch.view class] == [UITableView class]){
return NO;
} else if (touch.view.tag == 100) {
return NO;
} else if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
return NO;
}
return YES;
}
这个委托会做的是,它只会为你想要处理手势的视图调用手势处理程序方法,你也可以区分手势识别器。
我的UIScrollView
里面嵌套了一个UITableView
,其中UITableView
有一个左排的手势弹出菜单,现在两个view的手势冲突了。现在的问题是:如何在不改变 UITableView
?
PS:我已经设置好了UIScrollView
ScrollEnabled=false
你的问题不同,但你同意你的主要问题是手势之间的冲突,这意味着你无法区分两个视图的手势,
有两种解决方法,你需要在gestureRecognizer委托方法中根据条件接收手势,你可以检查接收到手势的class或者通过检查class或者通过标签
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldReceiveTouch:(UITouch *)touch
{
if([touch.view class] == [UITableView class]){
return NO;
} else if (touch.view.tag == 100) {
return NO;
} else if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
return NO;
}
return YES;
}
这个委托会做的是,它只会为你想要处理手势的视图调用手势处理程序方法,你也可以区分手势识别器。