2015-10-02 2 views
6

Я создал новый проект в Xcode 7 с помощью Swift. Я заметил, что экран запуска хранится в файле раскадровки.Пользовательская анимация в Launch Screen

Так что я думаю, если бы его можно было настроить, сославшись на мой CustomLauchScreenViewController. Однако, когда я установил имя пользовательского класса в LaunchScreen.storyboard, он выдает ошибку:

Launch screens may not set custom classnames

Так что это лучший способ, чтобы настроить LaunchScreen? Я намерен использовать LaunchScreen для загрузки некоторых данных перед запуском главного экрана.

+1

что-то вроде игры с королем (Candy, Soda, Digger и т. Д.) Используют изображение для всплеска (запуск изображения). Когда у вас есть управляющая нагрузка VC, у которой есть ваша пользовательская работа (анимация или вторичные изображения) и, наконец, загрузите приложение. –

ответ

10

Это не цель запуска экрана. Однако вы можете сделать, если ваш первый начальный viewController «действует» как экран запуска. Просто имейте то же изображение, что и изображение запуска, и делайте то, что вам нужно сделать там. После того, как вы закончите, перейдите к своему основному viewController.

+0

Итак, экран запуска не используется для подготовки данных по умолчанию перед запуском главного экрана? Если это так, термин «экран запуска» совершенно бесполезен. – chipbk10

+2

Ну, в смысле это; но не для нашего кода, для собственного кода запуска Apple. Если мы хотим, чтобы наш код выполнял настройку до начала основного приложения; мы должны сделать то, что я предложил выше. – Tander

+0

Если это так, я должен удалить все сгенерированные файлы, атрибуты «экран запуска» в моем проекте. – chipbk10

2

Экран запуска отображается перед запуском приложения, чтобы обеспечить переход от Springboard к вашему приложению во время загрузки. Согласно рекомендациям интерфейса компании Apple,

A launch file (or image) provides a simple placeholder image that iOS displays when your app starts up. The placeholder image gives users the impression that your app is fast and responsive because it appears instantly and is quickly replaced by the first screen of your app.

Для обеспечения перехода, удалить класс из LaunchScreen.storyboard и установить его, похожий на 0% переход нагрузки. Создайте новый контроллер в своем Main.storyboard и установите там CustomLauchScreenViewController и назначьте его как контроллер начального представления. Установите CustomLauchScreenViewController в качестве контроллера корневого представления в своем делете приложения. Когда экран запуска будет заменен вашим контроллером, переход будет слишком гладким, чтобы почувствовать какую-либо разницу. После загрузки данных измените контроллер корневого представления на требуемый контроллер просмотра.

+0

Я установил CustomLaunchScreenViewController в раскадровку и вызвал ошибку. Если вы ответите на вопрос Тандера, стартовый экран не используется для загрузки данных. Если загрузка данных займет больше времени, чем произойдет переход, что произойдет? – chipbk10

+0

Вы не можете установить какой-либо класс в LaunchScreen.storyboard. Установите аналогичный контроллер в качестве контроллера начального вида в Main.storyboard. Я обновил ответ. –

+0

, если стартовый экран предназначен для плавного перехода, поэтому мне это не нужно. Я создам еще один UIViewController в раскадровке для настройки, прежде чем переходить к главному диспетчеру просмотра. Я удалю все лишние вещи относительно «экрана запуска». Благодарю. – chipbk10