我正在尝试在所有其他视图之上显示自定义UIView,使其在纵向和横向都能正常工作。我目前这样做的方法是创建一个透明的黑色视图,它基本上使整个屏幕变暗,然后在其上添加我的自定义视图。一切都很好,除了它在景观中没有定位自己的财产这一事实。我认为这是由于我添加观点的方式:
UIWindow* mainWindow = (((MyAppDelegate*)[UIApplication sharedApplication].delegate).window);
[mainWindow addSubview:self];
似乎mainWindow始终处于纵向状态,无论实际的设备方向是什么,所以即使我处于横向状态,我的自定义视图也会显示为颠倒状态,就像它处于纵向模式一样。我的主视图控制器是一个navcontroller,它在它上面添加了几个自定义视图,所以我真的不想通过我的视图一直传递它的引用,所以我可以在上面使用它。
我的问题最后是如何正确地将我的自定义视图添加到主窗口,以便它在横向和纵向中正确定向,并且仍然显示在整个屏幕上。
THX
答案 0 :(得分:-1)
创建并生成具有更高zorder的新UIWindow,并为其添加视图控制器。视图控制器具有内置逻辑来处理视图旋转。