iPad:如何点击UIView透明部分下方的按钮

时间:2013-04-08 17:56:55

标签: ios objective-c xcode ipad uiview

我正在继承一个与我的主ViewController(1024x768)大小相同的视图。此子视图具有透明背景,并包含大小为50w X 50h且动态定位的按钮。

我的问题是我需要与此视图下方的内容和按钮进行互动,但此子视图会阻止该互动。

我看到一些帖子解决了类似问题,但我不清楚实际用法。

3 个答案:

答案 0 :(得分:2)

-pointInside:withEvent:是iOS询问触摸是否在特定视图中的方式。如果视图返回YES,则iOS调用-hitTest:withEvent:以确定触摸的该视图的特定子视图。如果该触摸位置没有子视图,则该方法将返回self。因此,您可以通过实现-pointInside:withEvent:这样的方式将不在子视图上的任何触摸传递回此视图背后的视图:

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
    return ([self hitTest:point withEvent:event] != self);
}

如果您需要捕捉一些不在子视图上的触摸,那么您的实现将会更复杂,但此方法仍然是告诉iOS视图所在位置并接受触摸事件的正确位置。

答案 1 :(得分:1)

您是否尝试将userInteractionEnabled设置为YES或NO?

答案 2 :(得分:1)

如果所有其他方法都失败了,您可以使用

以编程方式将这些子视图带到前面
 [self.view bringSubviewToFront:buttonToClick];