在iOS上,我们可以从UIScreen对象获取主UIWindow对象吗?

说,如果我们已经有aScreen屏幕指向主屏幕,通过

 UIScreen *aScreen = [UIScreen mainScreen]; 

我们可以从这个UIScreen对象到主UIWindow对象吗? (他们是否有任何连接?也就是说,而不是使用[UIApplication sharedApplication].keyWindow

没有。

应用程序有一个窗口列表,通常只有一个。 每个窗口都有一个screen属性,指示当前所在的位置。 屏幕对象保存有关物理设备的信息。

它似乎启发OSX NSScreen ,没有一个窗口列表每个屏幕。 每个应用程序都有窗口,每个窗口都知道哪个屏幕位于。

一个UIWindow知道它分配给哪个屏幕,但是一个UIScreen不知道UIWindows正在使用它。 这就是为什么标准模式是将主窗口保存为ApplicationDelegate的一个属性,所以你可以参考它。