有没有一种方法可以获得窗口或场景UIViewController属于没有愚蠢的旅行UIApplication?回避假设UIWindow是一个单例的反模式背后的想法是拥有潜在的可移植到macos的代码。或者至少是iOS扩展:据我所知,UI应用程序不是扩展安全的API。
t9eec4r01#
UIViewController的view属性类型为UIView。UIView的window属性类型为UIWindow。UIWindow的windowScene属性类型为UIWindowScene。只要视图控制器是可见的,你就可以通过以下方式获取窗口:
UIViewController
view
UIView
window
UIWindow
windowScene
UIWindowScene
self.view.window
其中self是视图控制器示例。如果视图控制器的视图当前不在窗口层次结构中,则window属性为nil。
self
nil
1条答案
按热度按时间t9eec4r01#
UIViewController
的view
属性类型为UIView
。UIView
的window
属性类型为UIWindow
。UIWindow
的windowScene
属性类型为UIWindowScene
。只要视图控制器是可见的,你就可以通过以下方式获取窗口:
其中
self
是视图控制器示例。如果视图控制器的视图当前不在窗口层次结构中,则
window
属性为nil
。