iPhone 6/6+ проблема размера экрана
Это сводит меня с ума. Сделав необходимые вещи, на симуляторе iPhone 6 я поправляюсь self.view.bounds {{0, 0}, {375, 667}}
но на фактическом устройстве iPhone 6 он все еще показывает {{0, 0}, {320, 568}}
, Вот что я попробовал:
Обновлен файл Images.xcassets, включающий загрузочные образы для всех устройств, начиная с 6+ и до iPhone 4,
Обновлен значок @3x (180x180) в Images.xcassets,
Даже попробовал xib в качестве файла запуска (XCode -> File -> New -> File -> Launch Screen),
Но все напрасно на реальном устройстве iPhone 6, хотя оно работает на симуляторе. Есть идеи?
2 ответа
Я получил ответ. Проблема заключалась в том, что я использовал Zoomed display на iPhone 6. Я установил его обратно на стандартную, и границы были правильными.
Когда система впервые запускает приложение на устройстве, она временно отображает статическое изображение запуска на экране. Это изображение - стартовое изображение вашего приложения, и это ресурс, который вы указываете в своем проекте XCode. Изображения запуска предоставляют пользователю немедленную обратную связь о том, что ваше приложение запущено, и дают вашему приложению время для подготовки исходного пользовательского интерфейса. Когда окно вашего приложения настроено и готово к отображению, система меняет стартовый образ для этого окна.
Когда доступен последний снимок пользовательского интерфейса вашего приложения, система предпочитает использовать этот образ, а не изображения запуска вашего приложения. Система делает снимок пользовательского интерфейса вашего приложения, когда ваше приложение переходит от переднего плана к фону. Когда ваше приложение возвращается на передний план, оно использует это изображение вместо изображения запуска, когда это возможно. В тех случаях, когда пользователь убил ваше приложение или ваше приложение не запускалось в течение длительного времени, система отбрасывает моментальный снимок и снова полагается на ваши изображения запуска.
Новые проекты XCode включают записи актива изображения для изображений запуска Вашего приложения. Чтобы добавить образы запуска, добавьте соответствующие файлы изображений в ресурсы изображений вашего проекта. Во время сборки Xcode добавляет соответствующие ключи в файл Info.plist вашего приложения и помещает изображения в ваш пакет приложений.
Для iPhone 6:
750 x 1334 (@2x) for portrait
1334 x 750 (@2x) for landscape
Для iPhone 6 Plus:
1242 x 2208 (@3x) for portrait
2208 x 1242 (@3x) for landscape
Вот соответствующие биты вашего Info.plist:
<key>UILaunchImages</key>
<array>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{320, 480}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default</string>
<key>UILaunchImageOrientation</key>
<string>Landscape</string>
<key>UILaunchImageSize</key>
<string>{320, 480}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-568h</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{320, 568}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-568h</string>
<key>UILaunchImageOrientation</key>
<string>Landscape</string>
<key>UILaunchImageSize</key>
<string>{320, 568}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-667h</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{375, 667}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-667h</string>
<key>UILaunchImageOrientation</key>
<string>Landscape</string>
<key>UILaunchImageSize</key>
<string>{375, 667}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-736h</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{414, 736}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-736h</string>
<key>UILaunchImageOrientation</key>
<string>Landscape</string>
<key>UILaunchImageSize</key>
<string>{414, 736}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-Portrait</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{768, 1024}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-Landscape</string>
<key>UILaunchImageOrientation</key>
<string>Landscape</string>
<key>UILaunchImageSize</key>
<string>{768, 1024}</string>
</dict>
</array>