Экран-заставка типа носителя в iPhone iOS

Хочу создать пользовательский экран-заставку для iPhone, но прошу мнения всех вас.

Насколько я понимаю, экран-заставка — это всего лишь изображение (Default.png), поэтому, если я хочу сделать экран-заставку длиннее, единственный способ сделать это — создать изображение, а затем добавить подвид на передний план? Затем создайте таймер для вызова метода удаления изображения из представления.

Но затем я хочу создать заставку типа мультимедиа, на которой будут отображаться аудио, видео и т. Д. Итак, вопрос в том, как это будет выглядеть. Единственный способ, о котором я думаю, - это создать ViewController, а затем представить его в модальном представлении. Позже я также добавлю возможность обнаруживать касание от пользователя, при касании медиа закроется/спрячется/закроется поддельный экран-заставка и представит контроллер основного вида.

На данный момент ход моих мыслей такой:

AppDelegate --> RootViewController --> SplashViewController (модальное представление)

можно ли сделать так?

AppDelegate --> SplashViewController --> RootViewController

Есть ли другой способ показать мультимедиа при запуске приложения?

Приветствуется любой ответ, заранее спасибо.


person Sola    schedule 14.04.2011    source источник


Ответы (1)


установите корневой контроллер представления вашего навигационного контроллера в качестве экрана-заставки.

Тогда просто не позволяйте пользователю перемещаться по этому низкому уровню.

по истечении таймера нажмите на навигацию с анимацией: НЕТ, и ваш экран-заставка будет заменен.

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

person The Lazy Coder    schedule 14.04.2011
comment
Кроме того, я бы сказал, чтобы файл default.png выглядел так же, как заставка, поэтому при загрузке приложения переход будет плавным. - person The Lazy Coder; 14.04.2011
comment
так ты имеешь в виду, что при первом запуске назначаем self.window.rootViewController = splashViewController; затем после таймера он назначает mainViewController? Проблема в том, что если я хочу добавить распознаватель жестов для касания, чтобы выйти из фальшивого заставки, где и как я должен заставить его работать. Создать делегата или использовать уведомление? - person Sola; 14.04.2011
comment
Я не уверен на 100% в семантике... Думаю, вы можете просто использовать [self.window addSubView:splash]; а затем [всплеск removeFromSuperView]; [self.window addSubView:myRealRootView]; - person The Lazy Coder; 14.04.2011