我无法让我的UIButtons
,UIScrollViews
等,在这种情况下工作:UIResponder链所需的说明
我有基地UIViewController
,这是UIWindow
根控制器。 在这层之上,我添加了一些其他的UIViews
,我将其称为“中间层视图”。在顶部,我为叠加对象添加了另一个UIView
。
定期为不同视图更改中间层视图。它使用的UIView
来自一个由NIB文件制作的UIViewController
。这里有一个例子
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
上升到视图链,但似乎跳过了中间层视图和UIResponders
完全在该UIView
。它直接跳到根UIViewController
。
有人知道这里发生了什么吗?
难道可以通过某种方式创建两个UIEvents
?一个用于叠加视图,另一个用于中间层视图?那可能吗?如果是这样,怎么样?
任何帮助将不胜感激。 谢谢, 丰富
嗨。感谢您及时的回复。我已经在我所有的ViewController中记录了touchesBegan等。这就是我能够发现它正在跳过我的中间层。我不知道为什么:s。 – 2011-06-14 11:20:35
请通过我的更新回答 – 2011-06-14 12:02:16
啊是的。这就是发生的事情。有谁知道我如何解决这个问题?我可以在覆盖图下插入中间图层,然后将覆盖图的超级视图设置为中间图层? – 2011-06-14 15:08:37