首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是获得屏幕宽度/高度与方向变化的正确方法?

问什么是获得屏幕宽度/高度与方向变化的正确方法?
EN

Stack Overflow用户
提问于 2011-08-13 01:07:17
回答 5查看 3.6K关注 0票数 1

我目前正在使用[[UIScreen mainScreen] bounds].size.width和height来获取屏幕宽度和高度,以便从服务器获取新图像(填充整个屏幕)。我的问题是,边界似乎不会随着方向的改变而改变。因此,如果我旋转设备,那么即使设备现在处于横向,它仍然会给出我的纵向宽度/高度。我不想硬编码基于当前方向的屏幕宽度/高度。有没有一种方法可以检查屏幕的宽度和高度,以正确反映方向的变化?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-08-13 01:26:31

您可以通过以下方式获取宽度和高度

代码语言:javascript
复制
int h = self.view.frame.size.height;
int w = self.view.frame.size.width;
票数 2
EN

Stack Overflow用户

发布于 2012-04-26 17:19:44

最好的方法可能是:

代码语言:javascript
复制
CGSize appSize = [UIApplication sharedApplication].keyWindow.rootViewController.view.bounds.size;

对于height使用appSize.height,对于width使用appSize.width。根据状态栏和wantsFullscreen设置,这将返回始终充满整个屏幕的最上面视图的方向调整后的大小,但可能会排除状态栏。

票数 2
EN

Stack Overflow用户

发布于 2011-08-13 01:19:36

[UIScreen mainScreen].bounds.size返回未旋转的边界。您可以在适当的屏幕UIView上使用convertRect:fromView:方法(为fromView传递nil )来调整旋转等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7043736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档