#ios #swift #uiview
#iOS #swift #uiview
Вопрос:
Обычно для обеспечения безопасности следует использовать UIViewController.view.safeAreaInsets в layoutSubviews() .
UIViewController.view.safeAreaInsets равен нулю в viewDidLoad().
Но вы можете получить безопасную область в viewDidLoad(), используя UIApplication.shared .keyWindow?.safeAreaInsets .
Я думаю, что использование UIViewController.view.safeAreaInsets в layoutSubviews() — это правильный способ получить безопасную область.
Итак, я думаю, что UIApplication.shared.keyWindow?.safeAreaInsets в viewDidLoad() может неожиданно вести себя в будущем обновлении iOS или на некоторых существующих устройствах.
Безопасно ли использовать UIApplication.shared.keyWindow?.safeAreaInsets в viewDidLoad()?
Если это безопасно или небезопасно, я хотел бы знать причину.
Мои макеты приложений отображаются в viewDidLoad().
Итак, я хочу получить безопасную область в viewDidLoad() с помощью UIApplication.shared.keyWindow, если это безопасно.
Ответ №1:
в iOS 11.0.1 iPhone6 используйте keywindow. safeAreaInsets равно нулю.Поэтому я думаю, что это недостаточно безопасно