iPhone触摸事件的两个UIview

时间:2009-08-16 20:00:20

标签: iphone

我正在为iPhone制作一个非常简单的应用程序。在某些状态下,应用程序会在其上显示一个表格和一个图层。图层包含背景图像和按钮。

单击按钮时 - 没有任何反应。相反 - 正在触发表格选定的行。

我做错了什么?

大卫。

2 个答案:

答案 0 :(得分:1)

图层用于绘图,而不是处理事件。要响应触摸事件,通常需要成为UIResponder的子类(CALayer不是)。那么,你如何将这一层放在UITableView上?如果它真的是一个CALayer,那么这不会起作用;你需要使用UIView。如果你刚刚调用了一个UIView,那么就提供一些关于如何创建视图的信息。视图无法响应的最可能原因是hitTest:withEvent:失败,如UIView docs中所述:

  

此方法忽略隐藏的视图,禁用用户交互或alpha级别小于0.1的视图。

答案 1 :(得分:0)

您是否从超级视图中删除了表格视图?

[viewWithTableInIt removeFromSuperview];
[theview addSubivew:viewWithBackgroundImageAndButton];

或者如果您需要保留“图层”(我假设您的意思是视图)并将其中的表作为子视图,您可以

viewWithTableInIt.hidden = YES;