2014-10-17 3 views
0

Мне нужно добавить представление непосредственно в окно. Я могу сделать это, обратившись к объекту window на AppDelegate через UIApplication. Я намерен сделать этот код как можно многократным, хотя это делает этот метод бесполезным. Как я могу получить доступ к программному обеспечению UIWindow без использования AppDelegate?Получить UIWindow без использования AppDelegate

Я кодирую в Swift, но примеры Objective-C также могут быть полезны.

ответ

2

Ок, понял это один из себя. Вы можете получить доступ к нему, как это:

var window :UIWindow = UIApplication.sharedApplication().keyWindow 
2

Любой вид имеет ссылку на текущее окно.

В UIViewController:

self.view.window 
+0

Хм, я получаю ошибки с этим. UIWindow не имеет члена с именем addSubview & UIWindow не имеет центра имен участников. NB: Я делаю это на UIView, который пытается добавить себя в окно, когда метод на нем вызывается из UIViewController. –

1

Swift 3 версия

пусть окно: UIWindow = UIApplication.shared.keyWindow!

+0

Добро пожаловать в stackoverflow. Этот пост был очень низкого качества и нуждался в значительных улучшениях, чтобы быть полезным. Пожалуйста, не могли бы вы расширить свой ответ? –

1

следующие работы с Swift 4 и безопасно разворачивать UIWindow так, что сила броска не требуется:

if let window = UIApplication.shared.keyWindow { 
    // Do stuff 
} 
Смежные вопросы