UIButton操作无法在UIView中使用

时间:2015-07-11 09:42:11

标签: ios iphone

我在视图中有UIView子类和2个按钮以及UITableview的视图。在设计部分,首先是一个按钮,然后是UITableView,然后是第二个按钮。当我单击第一个按钮(即tableview上方的按钮)时,它会获取按钮操作。但是当我点击第二个按钮UITableView下面的按钮时,它没有得到按钮动作。如果我将第二个按钮拖到tableview的位置上方,它就会得到动作。请帮帮我。

1 个答案:

答案 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];
}

希望它会有所帮助。