Странная ошибка перекрытия между навигацией и строкой состояния при повороте полноэкранного видео в iPad - PullRequest
3 голосов
/ 15 июля 2011

Я внедряю видеоплеер в свое приложение, и при повороте iPad, когда видеоплеер работает в полноэкранном режиме, происходят странные вещи.

Мой тестовый пример довольно прост:

1.- Я установил ориентацию по вертикали

2.- Я начинаю воспроизведение видео (не во весь экран)

3.- Я установил полный экран

4.- Я поворачиваю iPad в полноэкранном режиме и устанавливаю его в горизонтальное положение

5.- Я возвращаюсь к "не полный экран"

6.- Навигация и строка состояния перекрываются очень глупо. Посмотрите:

enter image description here

7.- Затем я снова поворачиваю iPad в вертикальное положение

Панели состояния и навигации больше не перекрываются. Посмотри еще раз:

enter image description here

8.- Затем я поворачиваюсь назад и вперед по горизонтали и вертикали, и все остается в порядке.

Подсказка

Я прочитал несколько других вопросов, но я не могу прийти к четкому выводу. Есть некоторые «официальные» исправления от Apple (?), Признающие какую-то ошибку и пытающиеся исправить подобные ситуации, как здесь: Ошибка вращения iPad при использовании MPMoviePlayerViewController

Но даже если реализовать это простое решение, ошибка все равно появляется для меня. (Я не знаю, если это ошибка, или это может быть функция (?))

Я попробую еще немного поработать, но помощь будет более чем приветствоваться.

Привет

Ответы [ 3 ]

2 голосов
/ 04 декабря 2012

отображение строки состояния ПЕРЕД заменой rootViewController обходит эту ошибку

[UIApplication sharedApplication] .statusBarHidden = NO; self.window.rootViewController = что угодно

0 голосов
/ 04 мая 2014

Вы можете попробовать этот код

- (void)viewWillAppear:(BOOL)animated
{
    [UIApplication sharedApplication].statusBarHidden=YES;

}
0 голосов
/ 29 мая 2012

отлично работает

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MovieSmallScreen) name:MPMoviePlayerDidExitFullscreenNotification object:MPplayer];

-(void)MovieSmallScreen
{



UIView *view123 = [[UIView alloc] 
                   initWithFrame:[[UIScreen mainScreen] applicationFrame]];


self.view.frame=view123.frame;
}
...