【问题标题】:Best Practices for more than one UIWindow in an application应用程序中多个 UIWindow 的最佳实践
【发布时间】:2012-06-01 18:32:58
【问题描述】:

专家,请分享在当前窗口顶部添加 UIWindow 时必须注意的最佳方法和实践。(Window1)我有一种情况,我已将视图“A”的方向锁定为纵向视图控制器。然后我创建一个新的 UIWindow 并将其设置为键和可见。这个新 UIWindow 的根视图控制器又是一个支持所有方向的视图控制器。我遇到的问题是,每当我将前一个窗口(比如 window1)作为键并再次可见时,并尝试旋转设备,即使视图保持锁定到特定方向(比如纵向),状态栏也在旋转,看起来非常奇怪。

【问题讨论】:

  • 为什么要使用多个 UIWindow?我从来不需要拥有多个 UIWindow。你为什么要这样做真的没有道理。你能解释一下你想用 2 个窗口完成什么吗?
  • 您不应使用多个 UIWindow,您是否要删除第二个 UIWindow?您在第一个窗口上添加了第二个窗口?你的问题不是很清楚,在这种情况下你可以-resignKeyWindow,但我认为这根本不是一个好习惯
  • 我想通过自定义视图来模拟 uiAlertview。那就是我遵循的方法
  • 你不需要一个窗口。自定义视图就可以了。
  • 我同意,事实上,即使是 Apple 关于该主题的文档也强烈反对多窗口应用程序。他们声明一个应用程序应该有 1 个窗口和多视图(如果应用程序需要)。

标签: iphone objective-c ios ipad uiwindow


【解决方案1】:

我认为将自定义警报旋转到应用程序不支持的方向是一个坏主意。反正。为了防止状态栏旋转,您应该删除第二个窗口

[alertWindow setHidden:YES]; 
[alertWindow release]; 
alertWindow=nil;

在您的警报消失后。

你也可以考虑点赞:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 2013-10-14
    • 2012-11-10
    相关资源
    最近更新 更多