Запуск приложения для iPad
При запуске приложения для iPad на время загрузки должны отображать графическое изображение — что-то вроде заставки. Apple НЮ рекомендует использовать изображение реального интерфейса (без конкретных данных). Впрочем, в некоторых приложениях отображаются полноценные заставки.
iOS выбирает изображение, соответствующее текущей ориентации. Это позволяет избежать неуклюжего разворота интерфейса, который заметен без загрузочной графики.
Мы подготовили два изображения, которые вы можете использовать в ходе загрузки. Вам остается загрузить их и включить в свой проект.
Откройте страницу _www.headfirstlabs.com/books/hfiphonedev и загрузите графику для этой главы.
Выберите проект в Xcode и найдите раздел iPad Deployment Info. Включите поддержку всех четырех вариантов ориентации устройства.
Перетащите изображение для книжной ориентации в поле Portrait Launch image, а изображение для альбомной ориентации — в поле Landscape Launch Imagebox. Xcode копирует оба изображения в ваш проект.
Приложение почти готово к поддержке запуска в любой ориентации. Ниже показано, как должен выглядеть каталог ресурсов.
Теперь мы поддерживаем все возможные виды ориентации. Постарайтесь остановиться и запустите приложение в альбомной ориентации. Все в порядке!
А если нажать на одну из строк в горизонтальном разделенном представлении?
Проблема с изменением представления
В приложении для iPhone детализированное представление заполняется перед отображением. Проблема в том, что в версии для iPad оно отображается постоянно. Решение для iPhone (повторная загрузка данных перед отображе нием представления) не годится для iPad, так как сообщение viewWillAppear отправляется один раз после запуска приложения. Что же делать?
Попытка дублирования кода ни к чему хорошему не приведет. Хороший стиль запрещает дублировать код, поэтому мы определим в DrinkDetailViewController новый метод с именем refreshView, который будет заполнять представление данными при изменении рецепта (метод drinkChanged).
В новой версии детализированное представление не заменяет табличное, оно должно изменяться, а табличное представление остается прежним (только для iPad). Проблема решается проверкой типа устройства по аналогии с тем, как это делалось в AppDelegate.
Прежде чем строить и запускать приложение, откройте Interface Builder и свяжите детализированное представление на панели разделенного представления с новым свойством splitViewDetailView класса RootViewController. Теперь детализированное представление перемещается в правую часть экрана, тогда как в левой части по- прежнему отображается табличное представление.
Постройте и запустите приложение. Детализированное представление отображается в правой части экрана, а слева, как и прежде, отображается табличное представление.
- Дата: 27-12-2014, 21:19