Как работает [UIAlertView show]? - PullRequest
10 голосов
/ 16 сентября 2010

Я хочу сделать что-то похожее на UIAlertView, то есть - без ссылки на любой UIView или UIViewController, представить UIViewController поверх всех окон, используя presentModalViewController.

Глядя на документацию, я не могу найти способ, которым это возможно!

В OS4 есть что-то вроде этого:

UIWindow *window = [UIApplication sharedApplication].keyWindow
UIViewController *rootViewController = window.rootViewController

... но это невозможно в OS3.

Кто-нибудь знает, как добиться того же эффекта в OS3?

Спасибо!


ОК - так что я решил это с помощью множества обратных вызовов делегатов для самого ViewController! Хотя это правильный способ для достижения этой цели, это казалось странным, что на любом этапе выполнения невозможно получить дескриптор верхнего контроллера представления для предупреждений (и т. Д.).

Если кто-нибудь знает, как этого добиться, я все равно буду очень заинтересован!

1 Ответ

19 голосов
/ 16 сентября 2010

UIAlertView создает свой собственный UIWindow над главным окном вашего приложения, makeKeyAndVisible -s его и анимирует в своих собственных представлениях в этом окне.

...