Доступ к главному окну или представлению - PullRequest
17 голосов
/ 25 июля 2011

Я хотел бы знать, есть ли простой способ доступа к главному окну или представлению в IOS. Нечто похожее на:

[UIScreen mainScreen]

Спасибо.

Ответы [ 4 ]

48 голосов
/ 25 июля 2011

Попробуйте:

UIWindow *frontWindow = [[[UIApplication sharedApplication] windows]
                                                            lastObject];

или просто:

UIWindow *frontWindow = [[UIApplication sharedApplication] keyWindow];
13 голосов
/ 30 октября 2013

Главное окно лучше всего найти с помощью UIWindow * mainWindow = [UIApplication sharedApplication].windows.firstObject;

Использование keyWindow может вернуть окно клавиатуры или UIAlertView, которое находится над окном вашего приложения.

3 голосов
/ 25 июля 2011

Если у вас есть указатель на некоторое подпредставление в окне, вы можете легко получить доступ к его окну:

UIWindow *window = mySubview.window;
2 голосов
/ 27 октября 2014

Просто умно, работает из любого класса:

[(YourAppDelegate *)[[UIApplication sharedApplication] delegate] window];

Примечание: не забудьте импортировать класс appDelegate

...