如何将两个变量等于屏幕大小和宽度?

时间:2014-02-25 03:27:20

标签: ios objective-c screen-size

您好我试图根据屏幕尺寸移动图像,例如iPhone 3.5“或4”。要做到这一点,我将拉动屏幕尺寸,然后将图像的中心设置为屏幕宽度和高度减去一定量。唯一的问题是屏幕尺寸没有像它应该的那样改变。据说iPhone 3.5“和4”具有相同的尺寸,显然它们没有。我该如何解决这个问题?

这是我用来拉尺寸的当前代码:

CGRect screenBound = [[UIScreen mainScreen] bounds];
CGSize screenSize = screenBound.size;
Height = screenSize.width;
Width = screenSize.height;

2 个答案:

答案 0 :(得分:0)

你把这段代码放在哪里?我似乎记得在viewDidLoad中,视图控制器的内容视图是默认大小,然后您将获得具有新大小的更新布局调用。

尝试将您的逻辑放在viewWillLayoutSubviews中。

答案 1 :(得分:0)

试试这个:

#define kSizeScreenWidth         320
#define kSizeScreenHeight        [[UIScreen mainScreen] bounds].size.height //480

#define kDeviceVersionAvailable  3.2
#define kDeviceVersion           [[[UIDevice currentDevice] systemVersion] floatValue]
#define kDeviceScreenWidth       kDeviceVersion < kDeviceVersionAvailable ? kSizeScreenWidth : [[[UIScreen mainScreen] currentMode] size].width
#define kDeviceScreenHeight      kDeviceVersion < kDeviceVersionAvailable ? kSizeScreenHeight : [[[UIScreen mainScreen] currentMode] size].height

如果你的应用设备版本&gt; = 3.2,那么试试这个:

#define kDeviceScreenWidth  [[[UIScreen mainScreen] currentMode] size].width
#define kDeviceScreenHeight [[[UIScreen mainScreen] currentMode] size].height