Ios 为UIWindow选择适当的级别,以启用与它后面的控制器的交互

Ios 为UIWindow选择适当的级别,以启用与它后面的控制器的交互,ios,uiviewcontroller,uiwindow,Ios,Uiviewcontroller,Uiwindow,我创建了一个ui窗口,显示一个浮动在所有控制器上的菜单。我想设置的水平,使窗口始终可见,加上用户可以与它后面的控制器进行交互。窗口包含一个控制器,该控制器将在用户点击时展开/收缩。见下图: 目前,我尝试了以下方法: UIWindow *statusWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; statusWindow.windowLevel = UIWindowLevelAlert; //Ha

我创建了一个
ui窗口
,显示一个浮动在所有控制器上的菜单。我想设置的水平,使窗口始终可见,加上用户可以与它后面的控制器进行交互。窗口包含一个控制器,该控制器将在用户点击时展开/收缩。见下图:

目前,我尝试了以下方法:

UIWindow *statusWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
statusWindow.windowLevel = UIWindowLevelAlert; //Have tried all three
statusWindow.hidden = NO;

[statusWindow addSubview:_gmDemo.view];//my controller's view
[statusWindow bringSubviewToFront:_gmDemo.view];
这段代码阻止了我与它后面的控制器的交互。此外,当我将其设置为
UIWindowLevelNormal-1
时,窗口是隐藏的,但我可以与其他控制器交互

请告诉我实现目标的正确方法。谢谢


注意:我已经读过这篇文章。

我自己找到了解决办法。问题是UIWindow的框架和标高。首先,我将级别设置为
UIWindowLevelNormal
。其次,我在菜单的按钮点击上动态处理了窗口的框架。当菜单需要扩展/收缩时,我会根据代表的要求适当地增加/减少UIWindow的大小。就是这样。

您在哪个窗口/视图控制器中添加了“statusWindow”对象?对不起,我不记得了。那几乎是3年多以前的事了