2013-09-30 3 views
1

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

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

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

Интересно, есть ли способ изменить заставку на некоторые условия.

Спасибо, ребята.

ответ

4

Заставка будет отображаться только до тех пор, пока она не примет метод для возврата YES. Одно из возможных решений заключается в том, чтобы вы имели действительно простой (не локализуемый) заставку и практически ничего не делали в этом методе и сразу же возвращали YES.

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

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

+1

Обратите внимание, что хотя это хорошо обходное решение, вы можете столкнуться с проблемами с ориентацией (http://stackoverflow.com/questions/5789927/query-launch-image-at-runtime) (то есть, если вы начнете приложение и изменить ориентацию перед вызовом applicationDidFinishLaunching: '. Если вы можете жить с этим, поддерживая только одну ориентацию или принимая этот редкий сбой, это решение в порядке. Это также способ имитации эффекта «выцветать от всплеска до приложения». – DarkDust

+0

Вы правы, надо быть осторожным с ориентацией! – micantox

1

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

Смежные вопросы