不调用viewWillAppear中或viewWillRotate

不调用viewWillAppear中或viewWillRotate

问题描述:

的YouTube视频全屏所以我有一个UIWebView中它也有一个嵌入的YouTube播放器在里面。当我播放它,并进入全屏和旋转,然后关闭视频,它不会调用viewWillAppear或willRotateTo ....这是为什么?我需要在设备旋转时进行一些视图调整,但是当播放器出现时,出于某种原因,这些方法都不会被调用。是的,我有shouldAutoRotateToInterfaceOrientation正确设置。任何想法?不调用viewWillAppear中或viewWillRotate

+0

你试过willAnimateRotationToInterfaceOrientation方法:你可以通过观察@“UIMoviePlayerControllerDidExitFullscreenNotification”模式检测的全屏模式下结束了吗? – rishi 2012-04-26 04:49:52

+0

这也是没有得到所谓的 – xonegirlz 2012-04-26 05:33:11

+0

有你在你的应用始终是设置shouldAutoRotateToInterfaceOrientation来? – rishi 2012-04-26 05:33:41

你的控制器必须是UIViewControllerviewWillAppear代表将不会被调用。

+0

它是一个UIViewController – xonegirlz 2012-04-26 14:47:17

+0

邮政更多的代码,因为如果它实际上是一个UIViewController,那么这些代表应该叫仔细阅读问题。 – WrightsCS 2012-04-26 15:35:04

您可以使用下面为您UIWebView的问题,viewWillAppear中或willRotateTo ..从未呼吁UIWebView的。

- (void)viewDidLoad 
{ 
    [[NSNotificationCenter defaultCenter] addObserver:self 
     selector:@selector(moviePlayerDidExitFullscreen:) 
     name:@"UIMoviePlayerControllerDidExitFullscreenNotification" 
     object:nil]; 
} 

- (void)viewDidUnload 
{ 
    [[NSNotificationCenter defaultCenter] removeObserver:self]; 
} 

- (void)moviePlayerDidExitFullScreen:(NSNotification *)notification 
{ 
    // This is where you do whatever you want. 
}