【发布时间】:2011-06-14 10:48:24
【问题描述】:
我无法让我的UIButtons、UIScrollViews 等在这种情况下工作:
我有基础UIViewController,它是UIWindow 的根控制器。
在该层之上,我添加了其他一些UIViews,我将其称为“中间层视图”。在顶部,我为覆盖对象添加了另一个 UIView。
中间层视图定期更改为不同的视图。它使用的UIView 来自UIViewController,由NIB 文件生成。这是一个例子
if ( mode == eModeShowView1 )
UIViewController* nextController = [[UIViewController alloc] initWithNibName:@"View1"...
else if ( mode == eModeShowView2 )
UIViewController* nextController = [[UIViewController alloc] initWithNibName:@"View2"...
[UIView insertSubview:nextController.view below:m_overlayView];
现在,当我触摸屏幕时,第一响应者显然是 OverlayView 或已触摸的 OverlayView 上的任何 UIResponder。
触摸输入的UIEvent 上升到视图链,但似乎完全跳过了中间层视图和UIView 上的UIResponders。它直接跳转到根UIViewController。
有人知道这里发生了什么吗?
是否可以通过创建两个UIEvents 来解决?一个用于覆盖视图,一个用于中间层视图?那可能吗?如果有,怎么做?
任何帮助将不胜感激。 谢谢, 丰富
【问题讨论】:
标签: ios uiviewcontroller uikit uiresponder uievent