我有一个viewcontroller,我在其中全屏添加了tableview,我在tableview上也有一个后退按钮。现在当视图在2秒后出现时,我正在减少按钮的alpha值,当用户触摸屏幕的任何地方时,我再次显示alpha 1。
为了在具有tableview的视图中实现这一点,我已经将tap手势添加到tableview,并且点击我将后退按钮alpha设置为1.但是当我将此方法添加到tableview时,问题就出现了我无法访问tableview didselectrow:metod。
任何人都可以帮我这个吗?我想只用一个水龙头做这个。 这是截图:
答案 0 :(得分:3)
我不太清楚我明白你为什么要这样做,但是:
答案 1 :(得分:0)
将UIGestureRecognizer
属性cancelsTouchesInView
设置为NO
,以便将触摸传递给视图。
mRecognizer.cancelsTouchesInView = NO;
答案 2 :(得分:0)
你可以使用Gesture识别器委托方法来检查触摸点是否在tableView中,如下所示
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
CGPoint point=[gestureRecognizer locationInView:containerView];
CGRect AreaNotinterested=///calculate the area you want recognizer to skip
if (CGRectContainsPoint(AreaNotinterested, point)) {
return NO;
}
else
return YES;
}
使用此方法告知代理是否启动或停止UIGestureRecognizer