代码之家  ›  专栏  ›  技术社区  ›  David Salzer

两个ui视图的iPhone触摸事件

  •  0
  • David Salzer  · 技术社区  · 15 年前

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

    当点击按钮时-什么都没有发生。相反-正在触发表所选行。

    我做错什么了?

    戴维。

    2 回复  |  直到 15 年前
        1
  •  0
  •   mk12    15 年前

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

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

    或者,如果您需要将“层”(我假设您是指视图)中的表保留为子视图,则可以这样做。

    viewWithTableInIt.hidden = YES;
    
        2
  •  1
  •   Rob Napier    15 年前

    图层用于绘制,而不是处理事件。要响应触摸事件,通常需要是uiresponder的子类(calayer不是)。那么,如何将此层置于uiTableView之上?如果它真的是一个calayer,那么这将不起作用;您需要使用uiview。如果它真的是一个刚刚调用层的uiview,那么提供一些关于如何创建视图的信息。最有可能的原因是 hitTest:withEvent: 如中所述失败 UIView docs :

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