Odtwarzacz wtyczek YouTube sam w sobie jest kontrolerem widoku modalnego. Po naciśnięciu przycisku powraca on do numeru presentingViewController
. Jego presentingViewController
nie jest twoim kontrolerem widoku modalnego, ale zamiast tego jest obiektem viewController, który wywołał [presentModalViewController:animated:]
, aby zaprezentować swój kontroler widoku modalnego. Ponieważ oryginalny kontroler widoku modalnego jest nadal aktywny, aplikacja zachowuje się źle.
Aby rozwiązać ten problem,
1) Tor, czy kontroler modalne widok został przedstawiony, ale nie oddalił.
2) W metodzie przedstawiania kontrolera widoku viewDidAppear
, jeżeli kontroler widoku modalnego został przedstawiony i nie został odrzucony, należy go odrzucić i przedstawić ponownie.
Na przykład w kontrolerze, który prezentuje modalne Zobacz Web Kontroler:
- (void) presentModalWebViewController:(BOOL) animated {
// Create webViewController here.
[self presentModalViewController:webViewController animated:animated];
self.modalWebViewPresented = YES;
}
- (void) dismissModalWebViewController:(BOOL) animated {
self.modalWebViewPresented = NO;
[self dismissModalViewControllerAnimated:animated];
}
- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
if (self.modalWebViewPresented) {
// Note: iOS thinks the previous modal view controller is displayed.
// It must be dismissed first before a new one can be displayed.
// No animation is needed as the YouTube plugin already provides some.
[self dismissModalWebViewController:NO];
[self presentModalWebViewController:NO];
}
}
Znalazłem rozwiązanie Twojego problemu. Czy możesz je nam udostępnić? – Illep
jeszcze nie ... Nie znalazłem tego – jonypz