【问题标题】:How can I place a UIWindow behind another UIWindow?如何将 UIWindow 放在另一个 UIWindow 后面?
【发布时间】:2013-10-29 07:23:51
【问题描述】:

我有 2 个UIWindows,当我同时显示UIWindows 时,最新显示的UIWindow 总是高于显示的第一个UIWindow。每个UIWindow 都是一个自己的UIWindow,所以没有Subview

有谁知道我如何将UIWindow 放在另一个UIWindow 后面?

【问题讨论】:

  • 是否有特定原因使用两个 UIWindows 而不是 UIViewController 作为第一个窗口的子视图?
  • @NikosM。是的,窗口在状态栏上方
  • 你可以拥有一个全屏的UIViewController并隐藏状态栏。
  • @NikosM。不,不是在 iOS 7 上
  • 是的,你可以。把它放在你想要隐藏状态栏的视图控制器中。 - (BOOL)prefersStatusBarHidden { return YES; }

标签: ios xcode uiwindow


【解决方案1】:

虽然我怀疑可能有一种更清洁、更易于维护的方式来实现你想要的,但你应该能够使用 windowLevel 属性来操纵出现的顺序窗口 - 虽然老实说我上次尝试这样做是在 iOS 5 上,所以也许这已经改变了。但通常你会这样做:

windowToPlaceInFront.windowLevel = windowToPutInBack.windowLevel + 1.0f;

【讨论】:

  • @DavidG。很高兴我能帮上忙!
【解决方案2】:

一个应用程序中不能有多个 UIWindow。

来自 Apple 文档 (https://developer.apple.com/library/ios/documentation/uikit/reference/UIWindow_Class/UIWindowClassReference/UIWindowClassReference.html):

除非应用可以在外部设备屏幕上显示内容,否则应用只有一个窗口。

【讨论】:

  • 确实没试过,但由于不是window的正常使用,可能在上个iOS上就不行了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-14
  • 1970-01-01
相关资源
最近更新 更多