Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIButton操作无法在UIView中工作_Ios_Iphone - Fatal编程技术网

Ios UIButton操作无法在UIView中工作

Ios UIButton操作无法在UIView中工作,ios,iphone,Ios,Iphone,我在视图中有一个UIView子类的视图和两个按钮以及UITableview。在设计部分,首先是一个按钮,然后是UITableView,然后是第二个按钮。当我单击第一个按钮(即tableview上方的按钮)时,它将获得按钮操作。但是,当我单击第二个按钮时,即UITableView下面的按钮,它不会得到按钮操作。如果我将第二个按钮拖动到tableview位置上方,它将获得操作。请帮帮我 好吧,当你有一个UIView,它的userInteractionEnabled=YES,它会得到所有的触动,因此,

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

好吧,当你有一个UIView,它的
userInteractionEnabled=YES
,它会得到所有的触动,因此,这个视图后面的任何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];
}

希望这会有帮助

该按钮可能隐藏在tableview后面。实际上,该按钮位于tableview的其他位置。如果您仍然无法解决此问题,并且希望该按钮正常工作,则可以尝试创建一个子视图来包含该按钮,并将其置于前面。实际上,我的tableview没有覆盖该按钮。为了进一步澄清,我只写下了立场。按钮A(0,0,30,30)UITableView(0,30150150)和下一个按钮B(0180,30,30),即这3个按钮位于3个位置。当我点击按钮B时,它没有接到电话。如果我把这个拖到位置(50,0,30,30),它就会接到电话。也就是说,如果我把按钮放在tableview(下面)旁边,它就像一个标签。单击它时没有任何更改。如果有任何更改,请提供帮助it@hilaj也许在ButtonB的顶部还有其他视图?您是在情节提要中还是在代码中设置它?您是否使用自动布局,可能存在冲突?你可以发布你的代码和你故事板的一些截图,这会给你带来更多的启发。。