在iOS中,我应该如何获得屏幕的高度和宽度,包括在横向模式下宽度大于高度?

时间:2013-09-27 17:30:23

标签: iphone ios objective-c ipad background-image

在呈现背景的函数的顶部,我有:

int height = [[UIScreen mainScreen] bounds].size.height;
int width = [[UIScreen mainScreen] bounds].size.width;

当我NSLog高度和宽度时,对于横向模式的视网膜设备,我得到1024的高度和768的宽度。显示的图像是肖像图像的旋转;如果我在侧面转动设备,图像整齐地填满整个屏幕,但背景显示水平挤压图像。

我应该做些什么不同才能正确获得高度和宽度?我希望横向设备的高度为768,宽度为1024.如果[UIScreen mainScreen]知道我真的希望高度大于宽度(无论是否我实际上,我怎么能查询实际尺寸,或查询设备是处于纵向模式还是横向?

1 个答案:

答案 0 :(得分:1)

您需要考虑当前的界面方向并相应地处理[[UIScreen mainScreen]界限]的结果。在这个thead的接受答案中有一个很好的详细解释如何做到这一点:

How to get orientation-dependent height and width of the screen?