我在视图中有UIView
子类和2个按钮以及UITableview
的视图。在设计部分,首先是一个按钮,然后是UITableView
,然后是第二个按钮。当我单击第一个按钮(即tableview上方的按钮)时,它会获取按钮操作。但是当我点击第二个按钮UITableView
下面的按钮时,它没有得到按钮动作。如果我将第二个按钮拖到tableview的位置上方,它就会得到动作。请帮帮我。
答案 0 :(得分:0)
好吧,当你有一个带有userInteractionEnabled = YES
的UIView时,它会得到所有的触摸,因此,这个视图背后的任何UIView都不会被触及。
您可以使用- hitTest:withEvent:
的解决方案:
你需要对你的UITableView进行子类化,并将指针传递给你'背后的' UIButton,并在CustomTableView中覆盖- hitTest:withEvent:
,如下所示:
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
BOOL isInsideButton = CGRectContainsPoint(self.behindButton.frame, point);
return isInsideButton ? nil : [super hitTest:point withEvent:event];
}
希望它会有所帮助。