Подтвердить что ты не робот

Расширение приложения для iPhone 5 - лучшая практика

Теперь, когда Apple собирается начать поставки iPhone 5, я изучаю расширение своих приложений, чтобы они отображались в полноэкранном режиме на iPhone 5. Я запускал свои приложения на симуляторе, и даже те, у которых UITableView распространяется в нижней части экрана, черные полосы появляются вверху и внизу экрана.

Вот мой вопрос: Какова наилучшая практика для расширения приложений для iPhone 5?

Должен ли я сделать отдельный наконечник для экрана 3,5 и 4, или расширить все в коде?

Я пытаюсь сделать это как можно более плавным, насколько это возможно, поэтому я обращаюсь к знанию SO, чтобы подвести меня к тому, что лучший способ создать для обоих экранов.

4b9b3361

Ответ 1

Использование полного 4-дюймового экрана в ваших приложениях кажется таким же простым, как добавление нового изображения по умолчанию с именем [email protected] размером 640 x 1136. Xcode 4.5 фактически предложит вам сделать это автоматически, добавив черный образ правильного размера и имени для вашего проекта.

Для приложений, которые используют стандартные компоненты пользовательского интерфейса, такие как представления таблиц, эти таблицы магически расширены, чтобы заполнить экран. Я обновил приложение для работы, и это было буквально просто, с несколькими незначительными проблемами, связанными с моим собственным кодом и настройкой пользовательского интерфейса. Но в целом, очень легко.

Контрастируйте это с другим приложением, над которым я работаю (для себя), который не использует ни один из стандартных компонентов пользовательского интерфейса, кроме UIViews. Чтобы иметь дело с экранами 3.5 "и 4", мне пришлось потратить довольно много времени на рефакторинг кода, который должен знать размер экрана для различных операций приложения. (Приложение в этом случае скорее представляет собой игру/симулятор, чем сказать, приложение для повышения производительности.)

Таким образом, ваш пробег может варьироваться в зависимости от уровня усилий, который действительно необходим для поддержки 4-дюймового экрана. Это будет зависеть от того, насколько сложным и "нестандартным" является ваше приложение, как я обнаружил.

Ответ 2

При обновлении существующего приложения для iphone 5 с большим экраном вы также можете обнаружить, что нижняя часть экрана не является "кликабельным". Например, если у вас есть панель инструментов в нижней части экрана, эта панель инструментов будет отображаться правильно, но кнопки не будут реагировать на касание. Если это так, вам нужно сообщить приложению, что окно использует полный экран.

Если у вас есть MainWindow.xib, откройте его, выберите window и в инспекторе атрибутов убедитесь, что установлен флажок "Полный экран при запуске".

Если у вас нет MainWindow.xib в вашем проекте (а для большинства более новых проектов нет), вам нужно добавить одну дополнительную строку в applicationDidFinishLaunching вашего делегата приложения:

- (void)applicationDidFinishLaunching:(UIApplication *)application {

    [window setFrame:[[UIScreen mainScreen] bounds]];
    ...
}

Я положил его в начале метода. Работали как шарм.

Ответ 3

Вы найдете этот путь с симулятором XCode- > Targets- > Summary- > iPhone/iPod Deployment Info (Retina 4-inch)

Вам нужно добавить изображение по умолчанию размером 640 x 1136.

Применить этот код в файле AppDelegate

mainWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

mainWindow.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

Вы получите размер основного экрана вашего окна. еще одна вещь, когда вы хотите проверить свой файл класса, просто добавьте этот код

if ([UIScreen mainScreen].bounds.size.height > 500.0f)

Для вашего контроллера просмотра просто добавьте одно свойство autoresizingMask

self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

Это отлично работает для меня.

Ответ 4

Я искал ту же проблему, пытаясь получить iPhone 5 (4 "), чтобы отобразить мои xib файлы на весь экран, и я нашел этот ответ, в котором говорится, что вам нужно добавить только изображение [email protected], чтобы сообщить iOS, что он должен отображать ваше приложение в 4" полноэкранном режиме. просто добавив, что эта проблема была решена для меня.

Почему [UIScreen mainScreen].bounds] не возвращает полный размер экрана?