iPhone - сделать что-то во время отображения заставки - PullRequest
3 голосов
/ 30 августа 2010

ки. Я знаю, как отобразить заставку на iPhone. Кажется довольно простым (то есть установкой Default.png и вызовом команды sleep).

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

Могу ли я заставить приложение сделать что-нибудь, пока отображается заставка?

Ответы [ 5 ]

4 голосов
/ 30 августа 2010

Лучшим способом было бы структурировать ваше приложение по-другому, немного по-другому.

Сделайте так, чтобы ваше приложение отображало Default.png при запуске (т. Е. Поместите UIImageView на экран), затем начните извлекать ваши данные.

Затем, когда вы извлекли данные (или, если это действительно необходимо, после истечения срока действия NSTimer, но это удобнее для пользователя, если вы избегаете фиксированного временного интервала), измените представление на реальное.

2 голосов
/ 30 августа 2010

Откуда у вас возникла идея, что вам нужно вызвать «sleep» при показе Default.png, и пока это изображение не происходит?Default.png отображается, когда ОС загружает ваше приложение.Вы не можете ничего сделать за это время.На самом деле вы еще не получили никакого контроля.Это обрабатывается ОС.Идея заключается в том, чтобы дать пользователю ощущение того, что приложение загружается быстро, но на самом деле ваше приложение загружается не полностью, в то время как Default.png показывает ОС вместо черного экрана.

1 голос
/ 30 августа 2010

Как правило, все вызовы awakeFromNib в контроллерах представления выполняются во время загрузки приложения (т. Е. С заставкой вверх). Когда я ставлю точки останова в своих приложениях на вызовы awakeFromNib, точки останова срабатывают, когда заставка активирована и приложение загружается. Так что все, что вы делаете в эти вызовы будут обрабатываться, пока загружается экран загрузки.

1 голос
/ 30 августа 2010

Если вы читаете Руководства по интерфейсу пользователя, они совершенно ясно, что Default.png не предназначен для использования в качестве заставки для брендинга. Он предназначен для отображения статической «оболочки» начальной страницы пользовательского интерфейса, чтобы пользователь мог быстро загружаться. Так что он совсем не предназначен и не предназначен для того, для чего его используют многие приложения (включая некоторые из моих).

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

1 голос
/ 30 августа 2010

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

...