UIWindow не отображается в верхней части раскадровки - PullRequest
7 голосов
/ 16 декабря 2011

У меня есть объект UIWindow, который я хочу показать поверх раскадровки. Что я сделал так -

UIWindow *webWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, 20, 320,480)];
webWindow.windowLevel = UIWindowLevelAlert;

Я делаю его ключевым и видимым вот так -

[webWindow makeKeyAndVisible]; 

Проблема в том, что его не видно. Я попытался NSLog, чтобы увидеть все окна, и он показывает что-то вроде этого -

Windows:(
    "<UIWindow: 0x9b5cf20; frame = (0 0; 320 480); layer = <UIWindowLayer: 0x9b61400>>",
    "<UIWindow: 0x9846880; frame = (0 0; 320 480); layer = <UIWindowLayer: 0x9846a60>>"
)

Я прочитал кое-что о том, как окно используется раскадровкой здесь - http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/doc/uid/TP40006786-CH3-SW30

Но не ясно, как использовать его для отображения окна поверх раскадровки.

1 Ответ

1 голос
/ 06 апреля 2013

Вместо создания нового объекта UIWindow и добавления подпредставления пришлось сделать объект делегата приложения похожим на -ExampleAppDelegate * myApp = (ExampleAppDelegate *) [UIApplication sharedApplication] .delegate;И добавьте subView следующим образом - [myApp.window addSubview: aWebView];

...