所以我正在尝试更新我的游戏以正确适应 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 之前,这一切都正常吗?这是怎么回事?
最佳答案
iOS8 中的 UIScreen 边界行为已更改。以前,它总是会为您提供纵向屏幕的宽度和高度(因此 iPhone 5 上为 320 x 568),但在 iOS8 中,它会根据您所处的任何方向(即横向)为您提供宽度和高度。获取 568 x 320。
如果您想获得纵向边界(像以前一样),请使用:
[UIScreen mainScreen].fixedCoordinateSpace.bounds.size
关于ios - xcode 6 是 iphone 5 不再是 568 点高度吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25778338/