代码之家  ›  专栏  ›  技术社区  ›  Matt Long

ui视图隐藏其他视图

  •  0
  • Matt Long  · 技术社区  · 14 年前

    我不知道是什么遮住了我的按钮。第一张图片显示了我要单击的按钮。当视图像这样收缩时,它们是可点击的,但是当视图像第二幅图像一样展开时,按钮就不再是可点击的了。似乎还有另一个视图挡住了按钮。有没有想过是什么原因造成的?如果没有,我怎么知道当我在那个区域点击时,什么视图得到点击事件?

    alt text http://www.matthew-long.com/download/clickable.png alt text http://www.matthew-long.com/download/blank.png

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Tom    14 年前

    您可以修补uiview方法以查看哪些视图正在接受命中测试:

    @implementation UIView (Debug)
    
    - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
        BOOL pointInside =  CGRectContainsPoint(self.bounds, point);
        if (pointInside) NSLog(@"%@", self);
        return pointInside;
    }
    
    @end
    

    这将为您提供触摸正在点击的视图的层次结构,从uiwindow向下到处理(或不处理)事件的视图。