MPMoviePlayerController tworzy własne okno i ustawia je jako okno klucza - prawdopodobnie znasz to już z przykładowej aplikacji MoviePlayer.
Nie wiem dlaczego, ale jest opóźnienie, gdy gracz używa strumienia - tak więc keyWindow, które otrzymasz zaraz po inicjalizacji odtwarzacza, prawdopodobnie nie jest oknem gracza, ponieważ wydaje się, że zostanie dodane później.
można „oszukać” i użyć timera, aby uzyskać okno odtwarzacza kilka sekund później i dodać nakładki:
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(addMyOverlay:) userInfo:nil repeats:FALSE]
Albo można wykrywać zdarzenie UIWindowDidBecomeKeyNotification, i zrobić to samo:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyWindowChanged:) name:UIWindowDidBecomeKeyNotification object:nil];
Żadna z opcji nie jest świetna (chciałbym poznać dokładniejszy sposób wykonania tej czynności), ale wykonuje to zadanie.
Jesteś mężczyzną! rozwiązałeś mój problem! Dzięki dużo – vicky
faktycznie użyłem UIWindowDidBecomeKeyNotification zamiast timera, działa idealnie. nie potrzeba zegara. – vicky
OK Zgadzam się. To twoje okno - rozwiązanie jest idealne. –