Технические вопросы и ответы QA1656

Отключение взаимодействия с пользователем в приложении, в то время как носители все еще загружается

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 взаимодействию с пользователем в Вашем приложении, в то время как носители все еще загружается