嗨,我以编程方式启动了rootViewController(仅门户没有风景)

这是代码使用

CGRect appFrame = [[UIScreen mainScreen] bounds];

但是它没有给出正确的大小。 (在底部屏幕上缩小)

只有此代码给出正确的
 CGRect appFrame = [UIScreen mainScreen].applicationFrame

但是此代码将给出警告:已贬值(applicationFrame已贬值)

(我的模拟器是IOS 9.3)

如何解决问题?任何帮助都非常感谢!谢谢!

这是使用[UIscreen mainscreen].bounds时的屏幕截图

ios - UIScreen mainScreen边界给出错误的大小-LMLPHP

这是[UIscreen主屏幕] .applicationFrame

ios - UIScreen mainScreen边界给出错误的大小-LMLPHP

最佳答案

您可以执行以下操作。

CGRect rect = [UIScreen mainScreen].bounds;

CGRect screenFrame = CGRectMake(0, [[UIApplication sharedApplication] statusBarFrame].size.height, rect.size.width, rect.size.height - [[UIApplication sharedApplication] statusBarFrame].size.height);

现在您可以使用此screenFrame,希望这可以解决您的问题。

10-08 15:45