Я понимаю, что играть со стандартными значками запуска и экранами-заставками - это нарушение HIG, но у меня есть такое требование, что мне нужно отображать экран-заставку только в первый раз. Возможно ли это реализовать? Я могу придумать одно простое решение: отображение в виде изображения поверх UIwindow, а затем удаление его на основе таймера. Ищу другие варианты.
Показывать заставку только один раз IOS
Ответы (4)
Мой совет - переработать иерархию представлений так, чтобы первое представление имитировало заставку, которую вы хотите показать (контроллер представления со встроенным uiimage должен нормально работать для того, что вы описали). Затем нажмите «главный экран» поверх этого представления после определенного периода времени. Небольшой код, чтобы убедиться, что это происходит только при первом запуске с некоторым постоянным хранилищем, и все готово.
Не советую работать с UIWindow напрямую. Это может привести к всевозможным головным болям.
Это слишком просто.
Но вам не нужно манипулировать изображением запуска, а изображением, загруженным вашим приложением. Для предотвращения запуска во второй раз можно установить флаг во внутренней памяти.
Обязательно используйте технику ленивой загрузки/инициализации и отображайте изображение как можно быстрее, чем инициализация.
Я надеюсь, что это помогает!
Если вы используете iOS6, вы можете использовать функцию восстановления. При первом запуске ваше приложение покажет изображение запуска. Во всех других запусках будет отображаться скриншот последнего состояния.
Итак, вы знаете, что это нарушение HIG, но ищете обходной путь. У вас должно быть изображение запуска при загрузке приложения и отображении при первом запуске. Я предполагаю, что вы не заботитесь о обзоре приложения в магазине приложений.
Давай подумаем
Образ запуска должен быть в основном комплекте. И основной пакет предназначен только для чтения вашего кода. У меня есть обходной путь, но он может работать только при втором запуске, чтобы показать изображение запуска, а затем снова нет.
Добавьте свое изображение запуска с любым именем
Добавьте символическую ссылку в пакет приложений с именем Default.png, которая показывает файл на шаге 3.
Скопируйте это изображение запуска в папку каталога вашего приложения (ваша символическая ссылка в пакете приложений показывает файл) при первом запуске.
Запустите приложение второй раз и увидите изображение запуска
Удалите скопированное изображение.
Когда ваше приложение не может найти файл png, который отображается по вашей символической ссылке, оно не может отображать изображение запуска.
PS: Лично я не пробовал, но может сработать.