2010-10-18 5 views

Répondre

0

avez-vous autoresizingMask sur le UIWebView

webView.autoresizingMask=(UIViewAutoresizingFlexibleHeight | 
             UIViewAutoresizingFlexibleWidth); 

et

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

Oui. La vue qui se trouve derrière la barre d'état est la vue de UINavigationController. Il est automatiquement chargé par le code UINavigationController. En outre, cela ne se produit pas lorsque je fais pivoter l'appareil lorsque le film ne joue pas. Quand je fais tourner l'appareil quand il est dans un "mauvais" état, il se corrige. – richcollins

1

Active que l'animation du point de vue du contrôleur de vue n'a pas été terminé lorsque la vidéo a commencé. Cela l'a fait réafficher sur la vue du lecteur vidéo.

+0

comment l'avez-vous réparé? J'ai exactement le même problème .... merci! :) – Sid

+0

démarrer la vidéo une fois l'animation terminée – richcollins

1

Ma solution:

(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

Il n'y a aucun moyen de résoudre ce problème en utilisant MPMoviePlayerNotification, parce que UIWebView vidéo Ne pas utiliser MPMoviePlayerViewController ou il est privé pour les développeurs. Mais, il existe une autre façon de corriger ce bug.

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

- (void)handleStatusBarFrameDidChange { 
    self.navigationController.navigationBarHidden = YES; 
    self.navigationController.navigationBarHidden = NO; 
}  
Questions connexes