Как я могу сделать изображение запуска iPhone легко? - PullRequest
16 голосов
/ 08 февраля 2012

Согласно руководству Apple, изображение запуска / заставка приложения iPhone должно быть предварительно обработанным статическим изображением, которое похоже на первый экран приложения.

Вот несколько ссылок на документацию Apple об этом:

1) Запустите изображения, руководство по интерфейсу пользователя iOS:

https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/IconsImages/IconsImages.html#//apple_ref/doc/uid/TP40006556-CH14-SW5

2) Изображения запуска приложения (по умолчанию), руководство по программированию приложения для iOS:

https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html#//apple_ref/doc/uid/TP40007072-CH6-SW12

Мне просто интересно, как я могу легко создать такой стартовый образ. В большинстве случаев кажется, что стартовое изображение должно быть комбинацией пустой строки состояния + панели навигации + пустой таблицы / представления + панели вкладок, и каждый из них должен отображаться с предопределенной цветовой схемой iOS.

Но я не могу найти какую-либо документацию о том, как мне это сделать, и не могу найти какую-либо запись в XCode, которая, кажется, связана с этим. Есть ли какой-нибудь официальный инструмент Apple, чтобы легко сделать изображение запуска? Или все разработчики приложений просто используют для этого макет элементов управления iPhone + Photoshop?

Любая помощь приветствуется. Спасибо.

Ответы [ 9 ]

14 голосов
/ 08 февраля 2012

Это не будет большой проблемой, создайте статический XIB-файл вашего главного экрана (пустая панель вкладок, пустая панель навигации) или что-то еще.Только фоны без каких-либо элементов или надписей на них.

Вы можете запустить это «пустое» приложение в iPhone Simulator, который имеет встроенную функцию скриншота.С помощью дополнительного программного обеспечения, такого как iPhone Simulator Cropper , вы можете обрезать изображение до желаемого размера.

Это мой подход.

7 голосов
/ 08 февраля 2012

Кажется, в Xcode нет такого инструмента, встроенного для этого. Я закончил с методом, подобным тому, как Себастьян Врамба сказал выше, с небольшой разницей. Я использовал раскадровку Xcode 4.2 для дизайна пользовательского интерфейса моего приложения, вот мои шаги, чтобы сделать это в раскадровке Xcode 4.2:

  1. Перетащите пустой контроллер представления из «Библиотеки объектов» на раскадровку

  2. Добавить пустую панель навигации / представление таблицы / панель вкладок / другие компоненты в новую сцену выше в соответствии с исходной компоновкой экрана

  3. Щелкните контроллер представления в раскадровке, в «Инспекторе атрибутов» контроллера представления есть флажок «Начальная сцена: это начальный контроллер представления». Проверьте это.

  4. Запустите приложение в Xcode, начальный экран вашего приложения будет установлен на тот, который вы только что создали. Сделайте снимок экрана и используйте его в качестве начального изображения.

  5. Установите исходную сцену обратно к реальной исходной сцене, установив флажок «Начальная сцена».

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

7 голосов
/ 08 февраля 2012

Так как удаление содержимого в nib-файле затруднительно, я использую кодовый подход.

Код отличается для каждого проекта.Но вы получите идею.

// uncomment to take a screenshot for the launch image
//#define SCREENSHOTMODE 

- (void)viewDidLoad {
    [super viewDidLoad];
    /* regular stuff */
#ifdef SCREENSHOTMODE
        self.navigationItem.leftBarButtonItem = nil;
        self.navigationItem.rightBarButtonItem = nil;
        self.title = nil;
        [self deactivateContentForSubviewsInView:self.view];
#endif
}


#ifdef SCREENSHOTMODE
- (void)deactivateContentForSubviewsInView:(UIView *)contentView {
    for (UIView *aView in contentView.subviews) {
        if ([aView isKindOfClass:[UILabel class]]) {
            [(UILabel *)aView setText:nil];
        }
        else if ([aView isKindOfClass:[UITableView class]]) {
            [(UITableView *)aView setDataSource:nil];
        }
        else if ([aView isKindOfClass:[UIToolbar class]]) {
            [(UIToolbar *)aView setItems:nil];
        }
        else if ([aView isKindOfClass:[UIImageView class]]) {
            [(UIImageView *)aView setImage:nil];
        }
        else if ([aView isKindOfClass:[UIView class]]) {
            // i often put views in UIViews to group them
            [self deactivateContentForSubviewsInView:aView];
        }
    }
}
#endif

Если у вас есть только несколько объектов, вы можете просто удалить содержимое ваших UI-элементов напрямую.Без петель.

1 голос
/ 08 февраля 2012

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

1 голос
/ 08 февраля 2012

Самое простое решение для ваших нужд - запустите ваше приложение, сделайте снимок экрана с начальным состоянием (дом + кнопка питания на устройстве) и вуаля! У вас есть хороший png-файл, содержащий ваше начальное состояние приложения и цветовую схему Apple.

0 голосов
/ 13 июня 2016

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

0 голосов
/ 03 января 2016

Если вам нужен, например, простой экран запуска с панелью навигации и панелью вкладок, я предлагаю использовать файлы запуска.В iOS 8 и более поздних версиях вы можете создать XIB или файл раскадровки вместо статического образа запуска.

Подробнее об этом можно прочитать по следующей ссылке: https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html

0 голосов
/ 05 марта 2015

Вы можете использовать XIB-файлы экрана запуска iOS 8 для создания статических изображений запуска с помощью симулятора, что может потребоваться, если вы поддерживаете iOS 7 или более раннюю версию.

  1. Создание стартового экрана XIB.
  2. Выберите сам проект в навигаторе проекта XCode, а затем в Общие> Информация о развертывании измените поле Основной интерфейс на экран запуска XIB. Этот шаг оставляет экран запуска XIB в симуляторе, поэтому у вас есть время сделать снимок экрана в шаге 4.
  3. Запустите приложение в симуляторе.
  4. Когда ваш экран запуска появится в симуляторе, выберите Файл> Сохранить снимок экрана .

Повторите этот процесс для каждого устройства, которое вам нужно поддерживать. Возможно, вам придется использовать редактор изображений, чтобы удалить строку состояния с снимка экрана.

0 голосов
/ 11 июля 2014

Проще, чем это.Поднимите изображение, которое вы хотите поместить в качестве заставки на вашем телефоне.Сохраните изображение в вашей фотопленке.Откройте изображение в вашей фотопленке.Нажмите на изображение, чтобы получить полный экран.Сделайте снимок экрана.Отправьте это изображение по электронной почте на ваш компьютер.Измените окончание файла с PNG на png, это отстой, я знаю :) Добавьте изображение в свою область Launch Image.Walla!;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...