2015-06-20 3 views
1

В моем проекте есть изображения запуска для всех iPhone iOS7, iOS8.Размер экрана iPhone6 ​​возвращается 375 на тренажере

Во всяком случае, постоянно возвращается неправильное значение ширины экрана в симуляторе:

NSLog(@"%f",[UIScreen mainScreen].bounds.size.width); 
    NSLog(@"%f",self.view.frame.size.width); 

как всегда являются 375,0.

Что мне не хватает?

+0

Какую ценность вы ожидаете? Ширина экрана @ 1x iPhone 6 составляет 375 пикселей. – Ryan

+0

Я ожидаю получить реальную ценность, как у меня всегда - 750 – Curnelious

+0

как это в некоторых проектах вы получаете 750 и другие 375? Мне нужен размер не в пикселях – Curnelious

ответ

4

Фактический размер экрана iPhone6 ​​составляет 750 пикселей, но iOS не возвращает размер пикселя в рамке или границах, но размер точки!

Если вы хотите знать, сколько пикселей в точке, вы должны использовать [UIScreen mainScreen].scale.

Для iPhone6plus это еще более сложно, так как оно также вводит «собственный масштаб». Все втягивается в большее изображение и уменьшено до экрана 1920x1080, который действительно имеет iPhone 6. Для этого вы бы использовали [UIScreen mainScreen].nativeScale [Тщательный, собственный масштаб доступен только на iOS8, и ваше приложение будет сбой, если вы используете его на iOS.]

P.S. Если вы не используете всплывающее изображение (кроме -568h @ 2x), вы получите 320x568 для iPhone 6 и 6+.

Смежные вопросы