Я добавляю экземпляр AVPlayerViewController в UIView. UIView инициализируется через раскадровку. Я установил верхнее ограничение на верхний макет, а нижнее ограничение — на нижний макет. Когда приложение скомпилировано, представление имеет правильный размер, но смещено на 64 пикселя вниз (высота верхней панели навигации). Как мне это решить? Установка верхнего ограничения на 64 немного решает проблему, пока я не вернусь к представлениям, а затем оно все равно станет смещенным.
//AVPlayer object can direct its visual output to AVPlayer. AVPlayerVC is a AVPlayerViewController. You can add it via objects in bottom-right corner.
AVPlayerViewController *avPlayerVC=[[AVPlayerViewController alloc] init];
avPlayerVC.player=self.avPlayer;
[self addChildViewController:self.avPlayerVC];
[self.playerView addSubview:self.avPlayerVC.view];
self.avPlayerVC.view.frame = self.playerView.frame;
[avPlayerVC didMoveToParentViewController:self];
DLog(@"%@",NSStringFromCGRect(avPlayerVC.view.frame));
DLog(@"%@",NSStringFromCGRect(self.playerView.frame));
DLog(@"%@",NSStringFromCGRect(self.view.frame));
[self.avPlayerVC.player play];
Журнал:
[Line 95] {{0, 0}, {100, 100}}
[Line 97] {{0, 64}, {375, 554}}
[Line 99] {{0, 0}, {375, 667}}