Уведомляется, когда медиа-плеер открывается из UIWebView? - PullRequest
5 голосов
/ 19 июня 2011

У меня есть UIViewController в моем приложении с UIWebView в нем. UIWebView имеет фиксированный размер и настроен на открытие любых ссылок в новом UIViewController (браузер). Это работает, но когда я пытаюсь щелкнуть видео, такое как YouTube или Vimeo, в веб-представлении, оно открывается поверх контроллера представления. Обычно это не является проблемой, но у меня есть перекрывающееся представление, которое должно заставить сообщение исчезнуть с пути, когда это произойдет.

Есть ли уведомление или любой другой способ, которым мой контроллер просмотра может получать уведомления, когда медиаплеер выходит из UIWebView? Мне действительно нужно, чтобы это работало лучше, потому что это действительно ужасно, как сейчас.

Спасибо!

1 Ответ

21 голосов
/ 22 июня 2011

От: http://www.alexcurylo.com/blog/2009/08/24/snippet-playing-youtube-videos/

К сожалению, нет прямого контроля или уведомлений о загрузке, прогрессе, выходе и т. Д. Однако вы можете получить некоторые косвенные уведомления в зависимости от состояния окна вашего приложения: добавьте в свой контроллер вида

[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(windowNowVisible:)
name:UIWindowDidBecomeVisibleNotification
object:self.view.window
];

[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(windowNowHidden:)
name:UIWindowDidBecomeHiddenNotification
object:self.view.window
];

чтобы вызывать их, когда окно YouTube отображается и исчезает соответственно.

- (void)windowNowVisible:(NSNotification *)notification
{
   NSLog(@"Youtube/ Media window appears");
}


- (void)windowNowHidden:(NSNotification *)notification 
{
   NSLog(@"Youtube/ Media window disappears."); 
}

и, эй, если это все, что вам нужно с помощью уведомления, то вы в порядке!

...