Как разместить UIWindow за другим UIWindow?

У меня есть 2 UIWindows, когда я показываю оба UIWindows, последний показанный UIWindow всегда выше первого показанного UIWindow. Каждый UIWindow является собственным UIWindow, поэтому нет Subview.

Кто-нибудь знает, как я могу разместить UIWindow за другим UIWindow?


person David Gölzhäuser    schedule 29.10.2013    source источник
comment
Есть ли конкретная причина для использования двух UIWindows, а не UIViewController в качестве подвида для первого окна?   -  person Nikos M.    schedule 29.10.2013
comment
@НикосМ. Да, окна над строкой состояния   -  person David Gölzhäuser    schedule 29.10.2013
comment
Вы можете иметь полноэкранный UIViewController и скрыть строку состояния.   -  person Nikos M.    schedule 29.10.2013
comment
@НикосМ. Нет, не на iOS 7   -  person David Gölzhäuser    schedule 29.10.2013
comment
Да, ты можешь. Поместите это в контроллер просмотра, в котором вы хотите скрыть строку состояния. - (BOOL)prefersStatusBarHidden { return YES; }   -  person Nikos M.    schedule 29.10.2013
comment
@НикосМ. Вау, отлично. Можете ли вы анимировать это, чтобы оно двигалось вперед и назад?   -  person David Gölzhäuser    schedule 29.10.2013
comment
Есть решение, но я не пробовал. stackoverflow.com/questions/19185347/   -  person Nikos M.    schedule 29.10.2013


Ответы (2)


Хотя я подозреваю, что, вероятно, существует более чистый и удобный способ добиться того, чего вы хотите, вы должны иметь возможность манипулировать окнами порядка, используя свойство windowLevel — хотя, честно говоря, последний раз, когда я пытался сделать это, был на iOS 5, так что, возможно это изменилось. Но обычно вы делаете что-то вроде:

windowToPlaceInFront.windowLevel = windowToPutInBack.windowLevel + 1.0f;
person Carl Veazey    schedule 29.10.2013
comment
@Дэвид Г. Рад, что смог помочь! - person Carl Veazey; 29.10.2013

Вы не можете иметь несколько UIWindow внутри приложения.

Из документации Apple (https://developer.apple.com/library/ios/documentation/uikit/reference/UIWindow_Class/UIWindowClassReference/UIWindowClassReference.html):

Если приложение не может отображать содержимое на экране внешнего устройства, оно имеет только одно окно.

person slecorne    schedule 29.10.2013
comment
Я действительно никогда не пробовал, но, поскольку это не обычное использование окна, оно может больше не работать на последней версии iOS. - person slecorne; 29.10.2013