我创建了第二个窗口并将其添加到默认窗口之上:
[topWindow makeKeyAndVisible];
topWindow.hidden = NO;
它可以工作,但我的顶部窗口阻止了对应用程序默认窗口的访问。我想知道如果在屏幕给定位置的顶部窗口中没有元素(例如按钮),我们是否可以访问下面的默认窗口的元素。
我希望这是可以理解的。对不起我的英语不好。提前感谢您的帮助。
我创建了第二个窗口并将其添加到默认窗口之上:
[topWindow makeKeyAndVisible];
topWindow.hidden = NO;
它可以工作,但我的顶部窗口阻止了对应用程序默认窗口的访问。我想知道如果在屏幕给定位置的顶部窗口中没有元素(例如按钮),我们是否可以访问下面的默认窗口的元素。
我希望这是可以理解的。对不起我的英语不好。提前感谢您的帮助。
我创建了第二个窗口并将其添加到顶部
所以,我认为通常的期望是 iOS 应用程序中每个屏幕只有一个窗口。文档似乎暗示了这一点:
每个应用程序都有一个窗口,用于在基于 iOS 的设备显示器上显示应用程序的用户界面。如果外部显示器连接到设备,应用程序也可以创建第二个窗口以在该显示器上呈现内容。
iOS 可能只是假设每个屏幕只有一个窗口,因此命中测试过程只考虑一个窗口,可能是关键窗口。由于您将第二个窗口设置为关键窗口,因此我建议您在创建第二个窗口后创建第一个窗口键,看看是否会改变。如果第一个窗口随后收到触摸而第二个窗口没有,这并不奇怪。如果您发现是这种情况,您可以使用 Subclass UIWindow
,如果未找到命中视图,则覆盖-hitTest:withEvent:
以将事件传递给其他窗口,然后将该子类用于您的两个窗口。
否则,如果您无法使其正常工作,请考虑返回单个窗口并使用不同的视图。您的问题有点类似于Make this view appear in every view, inside the app,我建议在那里创建您自己的容器视图控制器可能会对您有所帮助。