Почему строка заголовка появляется за строкой состояния после поворота? - PullRequest
0 голосов
/ 19 октября 2010

У меня есть UIViewController, вид которого - UIWebView со встроенным фильмом. Когда фильм воспроизводится в полноэкранном режиме, а устройство поворачивается, строка заголовка заканчивается за строкой состояния после закрытия фильма. Почему это может произойти?

alt text

Ответы [ 4 ]

1 голос
/ 20 октября 2010

Оказывается, что анимация представления контроллера представления не была закончена, когда видео началось.Это привело к его повторному отображению на видеоплеере.

1 голос
/ 30 ноября 2011

Мое решение:

(void)viewDidLoad
{
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
    [UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460);
    self.navigationController.navigationBar.hidden=NO;
 }
0 голосов
/ 10 декабря 2014

Невозможно решить эту проблему с помощью MPMoviePlayerNotification, потому что UIWebView Video не использует MPMoviePlayerViewController или является частным для разработчика.Но есть и другой способ исправить эту ошибку.

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(handleStatusBarFrameDidChange)
                                             name:UIApplicationDidChangeStatusBarFrameNotification
                                           object:nil];

- (void)handleStatusBarFrameDidChange {
    self.navigationController.navigationBarHidden = YES;
    self.navigationController.navigationBarHidden = NO;
}    
0 голосов
/ 19 октября 2010

вы делали автоматическое изменение размера маски в UIWebView

webView.autoresizingMask=(UIViewAutoresizingFlexibleHeight |
                                      UIViewAutoresizingFlexibleWidth);

и

-(BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) orientation 
{
    return YES;
}
...