0

我创建了UIWindow一个菜单来显示一个浮动在全局所有控制器上的菜单。我想设置级别,使窗口始终可见,并且用户可以与它后面的控制器进行交互。窗口包含一个控制器,它将在用户点击时展开/收缩。请看下面的图片:

在此处输入图像描述 在此处输入图像描述

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

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,窗口被隐藏,但我可以与其他控制器进行交互。

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

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

4

1 回答 1

2

自己找到了解决方案。问题是 UIWindow 的框架和级别。首先,我将级别设置为UIWindowLevelNormal. 其次,我在菜单的按钮点击时动态处理了窗口的框架。当菜单需要扩展/收缩时,我会在委托调用时适当增加/减少 UIWindow 的大小。而已。

于 2013-09-05T08:43:06.073 回答