Чтобы сделать UIView
поверх всех видов, таких как поведение UIAlertView
, лучший способ увидеть это, поместив его в окно приложения, добавив вид сверху:Вид сверху: UIWindow subview VS UIViewController subview
[[[UIApplication sharedApplication] delegate] window]
Однако недостатком, который я обнаружил, является то, что он не автоматически принимает во вращение. Для того, чтобы он мог принять участие в ротации, лучший способ - добавить вид на текущий AppDelegate window.navigationController
/rootViewController
, однако, сделав это, он больше не будет на вершине всего. Скажем, когда отображается представление, и появляется всплывающее окно modalViewController, модальное представление, безусловно, будет закрывать представление.
Мой вопрос в том, можно ли добавить subview к самому большому окну и поддержка ориентации? В этом случае мне нужен два набора файлов Nib? Как UIAlertView
делает магию, чтобы совместить самую верхнюю поддержку ориентации &? Когда я смотрю в UIAlertView.h
, я вижу, что на самом деле есть 2 UIWindows
, один раз называется originalWindow
, а другой - dimWindow
. Есть ли место, где я могу найти исходный код для UIAlertView.m
?
Как зарегистрировать представление устройства для получения события поворота? Это не View Controller, поэтому для него нет функций делегата. Нужно ли мне перехватывать UIDeviceOrientationDidChangeNotification для изменения соответствующей ориентации? –