Я только что возобновил работу над проектом, над которым я в последний раз работал 4 года назад. В то время я использовал Xcode 3.2 и iPad 2. Теперь я нахожусь на Xcode 8.1 и iPad Air 2.UIScreen mainScreen bounds возвращает границы iPad 2 на iPad Air 2
Я могу легко создать и запустить проект с помощью Xcode 8.1, но есть что-то странное, когда вы получаете размер экрана с помощью
CGRect rect = [[UIScreen mainScreen] bounds];
возвращает 768x1024 пикселей на мой IPad 2 Air, который не может быть правдой, потому что родное разрешение IPad 2 воздуха является 1536x2048. 768x1024 - это разрешение iPad 2, моего старого устройства.
Кроме того, не только bounds
возвращает неправильные размеры, я также могу ясно видеть, что графика, которую я рисую на мой взгляд, была увеличена.
Итак, я предполагаю, что мой проект работает в каком-то режиме устаревания/совместимости, который пытается заставить приложение полагать, что он все еще работает на iPad 2 с разрешением 768x1024 вместо разрешения вдвое большего. Может ли быть так, или что объясняет это явление?
Итак, как я могу заставить это работать правильно? то есть как я могу получить bounds
, чтобы вернуть 1536x2048 и остановить автоматическое масштабирование? Я уже просмотрел различные варианты в Xcode, но я не вижу ничего, что могло бы объяснить поведение, которое я вижу здесь. Моя цель развертывания установлена прошивка 10.1, так что я не понимаю, почему мое приложение помещается в этом странном режиме унаследованного или что-то ...
* "возвращает 768x1024 пикселей" * - Нет, она возвращает 768x1024 ** баллов **. Прочитайте документацию для свойства 'UIScreen bounds'. – rmaddy