Когда приложение запустилось, я хочу, чтобы заморозить пользовательский интерфейс в течение секунды или около того, чтобы получить сервис предварительного условия (например, служба определения местоположения). Есть ли способ сделать это?Как заморозить пользовательский интерфейс при запуске?
ответ
Просто поместите прозрачный UIView поверх всего экрана и перехватите все события касания.
Для перехвата событий прикосновения, просто подкласс UIView и переопределить
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event;
Обычно внутри этого метода вы бы назвать супер на него, но в этом случае вы бы просто вернуться ДА:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
return YES;
}
Если вы хотите по-настоящему представить, что вы можете добавить синтезированное свойство в подкласс UIView, называемый shouldInterceptTouches, и сделать что-то вроде этого:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
return shouldInterceptTouches ? YES : [super pointInside:point withEvent:event];
}
Также не забудьте убедиться, что ваш прозрачный вид находится над другими видами.
Боковое примечание: Руководства по интерфейсу Apple от Apple не нравятся, когда вы делаете такие вещи. Пользователь будет смущен и разочарован, если ваше приложение не реагирует, и это может заставить их выйти из приложения, если они считают его замороженным. Вам лучше отобразить какой-то UIActivityIndicatorView и отключить только абсолютно необходимые кнопки. Apple любит это, когда вы делаете подобные вещи в фоновом режиме и позволяете пользователю делать другие вещи, на случай, если это займет какое-то время или не удастся.
Вы можете использовать Modal View или отключить все компоненты до тех пор, пока служба определения местоположения не будет завершена.
Это ответственность приложения, а не ОС или фреймворков.
- 1. dbext заморозить при запуске SQL
- 2. Сохранять пользовательский интерфейс при запуске скрипта
- 3. Как заблокировать пользовательский интерфейс Winforms при запуске фонового потока
- 4. MVC.NET: Как обновить пользовательский интерфейс при запуске события в бэкэнд?
- 5. Пользовательский интерфейс не отображается при запуске с использованием селена
- 6. Пользовательский интерфейс автоматического кликера становится черным при запуске
- 7. SwipeRefreshLayout необходимо заморозить UI
- 8. Как обновить пользовательский интерфейс при изменении файла
- 9. Как обновить пользовательский интерфейс при изменении местоположения?
- 10. Как обрабатывать пользовательский интерфейс при циклировании?
- 11. Как обновить пользовательский интерфейс Silverlight при обработке
- 12. Пользовательский контроллер просмотра при запуске
- 13. Ranorex и удаленный пользовательский интерфейс
- 14. прокручиваемые вкладки пользовательский интерфейс Интерфейс
- 15. Удалить пользовательский интерфейс надстройки при удалении
- 16. Как заблокировать пользовательский интерфейс?
- 17. Как реализовать пользовательский пользовательский интерфейс UAC?
- 18. Пользовательский интерфейс пользователя зависает в onPostExecute AsyncTask?
- 19. Пользовательский пользовательский интерфейс Wix
- 20. joomla заморозить при установке?
- 21. Кодированный пользовательский интерфейс, как изменить testTimeout
- 22. Clion заморозить при компиляции
- 23. Как добавить пользовательский интерфейс в пользовательский интерфейс iPhone?
- 24. Как протестировать пользовательский интерфейс WPF?
- 25. Как не влиять на пользовательский интерфейс при выполнении AsyncTask?
- 26. Определенный пользовательский интерфейс (shiny-server)
- 27. Обновить любой пользовательский интерфейс при подключении обратно
- 28. Почему пользовательский интерфейс мерцает при отклонении клавиатуры ...?
- 29. Обновить текущий пользовательский интерфейс при получении уведомления
- 30. Альтернативный пользовательский интерфейс Couchbase
это кажется очень хорошим решением. как перехватить все события касания - исключил быTouch (YES) и setUserInteractionEnabled (NO) достаточно хорошо? Я использовал две настройки, но все же я вижу, что представление ниже движется с помощью прокрутки на прозрачном представлении. – tom
Я отредактировал сообщение, чтобы добавить более подробную информацию. –
Спасибо @Jack! Теперь вопрос в том, как убедиться, что мой взгляд выше других взглядов? Не будет ли addSubView гарантировать это? – tom