所以我正在尝试更新我的游戏以适应iPhone 6,我现在看到当我在iPhone 5模拟器上运行我的游戏时,一切都很合适,好像它是iPhone 4.我使用if语句来确定设备的高度:
if ((int)[[UIScreen mainScreen] bounds].size.height == 568)
{
mylabel4.fontSize = 35;
mylabel4.position = CGPointMake(CGRectGetMidX(self.frame) -145, CGRectGetMidY(self.frame) -130);
} else {
mylabel4.fontSize = 35;
mylabel4.position = CGPointMake(CGRectGetMidX(self.frame) -110, CGRectGetMidY(self.frame) - 130);
}
就像我说的那样,当我运行iPhone 5模拟器时,它会在'else'括号中运行代码。它就像iPhone 5不再高568点。这工作正常,直到我下载Xcode 6?这是怎么回事?
答案 0 :(得分:3)
iOS8中的UIScreen边界行为发生了变化。以前它总是以纵向给你屏幕的宽度和高度(因此在iPhone 5上为320 x 568),但是在iOS8中它会根据你所处的方向给你宽度和高度,即在景观中你会得568 x 320。
如果你想获得肖像的边界(像之前一样),请使用:
[UIScreen mainScreen].fixedCoordinateSpace.bounds.size
答案 1 :(得分:-1)
只需为iPhone添加启动图像,模拟器就会显示正确的点。奇怪的错误。