2010-06-10 3 views
1

Я использовал для загрузки изображения по умолчанию в своем приложении. Поэтому я установил,Как использовать Sleep в приложении в iphone

 Sleep(3); in my delegate.m class. 

Но иногда это занимает больше 6-7 минут. Поэтому я хочу отображать изображение только 3 секунды, а затем оно переходит к моему приложению, основанному на моих требованиях.

Какой из них является лучшим способом?

 Sleep(3) or [NSThread sleepForTimeInterval:3.0] or something else; 

И я должен отображать изображение только 3 секунды. Пожалуйста, объясните мне. (Примечание: И я определил методы сеттера и геттера только в моем классе deleagte.)

Пожалуйста, объясните меня.

ответ

2

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

Для создания заставки экрана default.png не существует. Вместо этого он существует, чтобы создать иллюзию, что ваш первоначальный вид загружается быстрее, чем он. Вы должны использовать его, чтобы обеспечить изображение вашего первоначального представления, чтобы enduser мог начать когнитивно ориентироваться в интерфейсе. К тому времени, когда они ориентировались на интерфейс и перенесли палец на сенсорный интерфейс, он работает вживую.

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

Я предлагаю своим клиентам проверить удобство использования своих приложений (кроме игр) во время ходьбы, покататься на велотренажере и так далее, а также в середине беседы лицом к лицу и по телефону. В этих обстоятельствах трехсекундная пауза является большой и очень заметной, особенно если приложение является практичным приложением. Представьте, что если каждый раз, когда вы открывали приложение Contact, вам нужно было приостановить три секунды, чтобы увидеть заставку Apple. Вы бы разозлились в спешке.

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

Однако, если вы хотите застрелить себя в ногу или если у вас есть клиентский ад, согнутый на заставке, вы делаете это примерно так:

Всплывающий экран появляется до тех пор, пока первый вид не загрузится, поэтому вы задерживаете загрузку первого вида.В приложении делегатов applicationDidFinishLaunching: удалите весь код, загружающий первый вид в окно. Замените его на NSTimer. Поместите код для загрузки первого представления в методе пожара таймера.

С этой настройкой приложение будет отображать default.png по мере его запуска, когда оно достигнет applicationDidFinishLaunching:, оно будет отображаться в режиме паузы с точки зрения конечных пользователей, потому что вместо замещения default.png не появится представление.

Следует отметить, что стандартное время запуска приложения составляет 3-5 секунд. Таким образом, вам может не понадобиться ничего делать, чтобы показать заставку в течение 3 секунд. Это может произойти автоматически.

+0

+ 1. @ TechZen Спасибо за подробный ответ. Большое спасибо. – Pugal

2

Apple строго рекомендует против этого (используя сон таким образом), особенно в сценарии показа заставки.

Самого лучшего, что нужно сделать, это создать представление, которое выглядит как файл Default.png, то есть, что быть первой NIB .. вы могли бы установить NSTimer переход (с анимацией, если вы хотите) на главную страницу/окно/контроллер.

+0

+1 Заставка - плохая идея, если она не скрывает необходимый процесс. – TechZen

+0

+ 1. @ Роб. Спасибо за ответ. – Pugal

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