Отключение взаимодействия с пользователем в приложении, в то время как носители все еще загружается
Q: Я создаю a MPMoviePlayerController объект и вызов play метод, но воспроизведение не всегда начинается сразу же когда потоковые медиа в медленной сети. Как я могу препятствовать тому, чтобы пользователь продолжал работать с моим приложением, в то время как загружаются носители?
A: Препятствовать тому, чтобы пользователь взаимодействовал с приложением, в то время как носители все еще загружается, после вызова MPMoviePlayerController play метод можно установить атрибут userInteractionEnabled = NO на Вашем представлении. Это заставит пользовательские события быть проигнорированными представлением. Как только фактическое воспроизведение фильма начинается, MPMoviePlayerController поместит окно проигрывателя фильмов и средства управления поверх Вашего представления, позволяя пользователю взаимодействовать со средствами управления фильмом. Когда воспроизведение фильма заканчивается (или пользователь нажимает кнопку Done), Вы доберетесь MPMoviePlayerPlaybackDidFinishNotification уведомление, в котором времени можно установить атрибут userInteractionEnabled=YES на Вашем представлении для разрешения обработки пользовательских событий снова.
Поочередно, сразу после вызова MPMoviePlayerController play метод можно добавить новое представление с атрибутом userInteractionEnabled = NO поверх Вашего регулярного пользовательского интерфейса приложения. Это также предотвратит любое взаимодействие с пользователем с Вашим приложением. Тогда, как только фильм заканчивает играть, просто удалите представление.
История версии документа
| Дата | Примечания |
|---|---|
| 03.09.2013 | Незначительный довольный обновление. |
| 05.08.2009 | Новый документ, обсуждающий, как к disablel взаимодействию с пользователем в Вашем приложении, в то время как носители все еще загружается |