iPhone 6/6+ проблема размера экрана

Это сводит меня с ума. Сделав необходимые вещи, на симуляторе iPhone 6 я поправляюсь self.view.bounds {{0, 0}, {375, 667}} но на фактическом устройстве iPhone 6 он все еще показывает {{0, 0}, {320, 568}}, Вот что я попробовал:

  1. Обновлен файл Images.xcassets, включающий загрузочные образы для всех устройств, начиная с 6+ и до iPhone 4,

  2. Обновлен значок @3x (180x180) в Images.xcassets,

  3. Даже попробовал 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

https://developer.apple.com/library/ios/documentation/userexperience/conceptual/MobileHIG/LaunchImages.html

Вот соответствующие биты вашего 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>
Другие вопросы по тегам