xcode 6 разве iphone 5 больше не 568 пунктов в высоту?

Итак, я пытаюсь обновить свою игру, чтобы она соответствовала 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? Что тут происходит?


person user3593148    schedule 11.09.2014    source источник
comment
Вы пытались зарегистрировать [[UIScreen mainScreen] bounds].size.height?   -  person rebello95    schedule 11.09.2014
comment
@ rebello95 Сделал то, что вы сказали, и нашел проблему. В моей игре телефон перевернут на бок. Раньше size.height для iPhone 5 равнялся 568, но не сейчас. Теперь size.height = 320 и size.width = 568 поменялись местами.   -  person user3593148    schedule 11.09.2014
comment
У меня есть точно такой же оператор if в одном из моих приложений, только что проверенный, и он работает как положено. Вы пробовали то, что предложил Rebello95, и выйти из [[UIScreen mainScreen] bounds].size.height?   -  person timgcarlson    schedule 11.09.2014


Ответы (2)


Поведение границ UIScreen изменилось в iOS8. Раньше он всегда давал вам ширину и высоту экрана в портретной ориентации (например, 320 x 568 на iPhone 5), но в iOS8 он давал вам ширину и высоту относительно любой ориентации, в которой вы находитесь, то есть в альбомной ориентации вы бы получить 568 х 320.

Если вы хотите получить границы в портрете (как и раньше), используйте:

[UIScreen mainScreen].fixedCoordinateSpace.bounds.size
person Mike    schedule 11.09.2014

Просто добавьте изображения запуска для iPhone, и симулятор отобразит нужные точки. Странная ошибка.

person Jesse Head    schedule 22.09.2014