是否有任何用于获取应用程序主窗口维度的防故障方法?

时间:2016-03-11 11:30:42

标签: ios objective-c

正如标题所述,是否有任何防止故障的方法来获取应用程序的可用大小? (不是实际的屏幕尺寸)。考虑到应用程序可能位于拆分视图,并且我们无法访问最终应用程序(这是一个没有UI的库)?

我尝试过的事情:

AppDelegate窗口属性

[UIApplication sharedApplication].delegate.window.bounds;

如果AppDelegate声明了窗口属性,大多数应用程序都会这样做,那么只能 ,但是没有保证。

应用程序密钥窗口

[UIApplication sharedApplication].keyWindow.bounds;

仅当当前keyWindow是应用程序的主窗口时才会起作用,但它可能是叠加层或警报。

屏幕范围

[UIScreen mainScreen].bounds;

当应用程序显示在拆分视图上时,这将不起作用。

遍历所有窗口

[UIApplication sharedApplication].windows;
//Iterate!

迭代所有可用的窗口,获得更大的窗口,并假设它是主要的窗口。这在大多数情况下都适用,但有时它不适用于Split View,因为有些窗口不会重新调整大小。

0 个答案:

没有答案