0

我有一个带有Kaltura 视频播放器的应用程序,当设备旋转到横向时,它会切换到全屏模式。基本上,应用程序的主 VC 有一个容器视图,其中包含一个表格视图和一个视频播放器视图,我称之为:

[self.containerView addSubview:playerViewController.view];

在我的“viewDidAppear”方法中添加播放器。当设备切换到横向模式时,我称之为:

[[[UIApplication sharedApplication] delegate].window addSubview:playerViewController.view];

为了让播放器出现在整个屏幕上,当设备切换回纵向模式时,我再次调用它:

[self.containerView addSubview:playerViewController.view];

这很好用,但是当设备处于横向时这也会隐藏应用程序的导航栏(可能是因为在其上添加了播放器)。

我也想在设备处于横向模式时显示导航栏,但是由于某种原因,我在设备切换到横向模式时使用的代码行是唯一真正将播放器放在整个屏幕上并旋转的代码行它横着走。

我有什么办法可以在播放器上重新添加导航栏?或者也许让它成为应用程序窗口的一部分,这样它就不会隐藏在播放器下面?如果您需要我添加更多解释或代码,请告诉我。谢谢!!

解决了!!!查看已接受的答案

4

3 回答 3

1

尝试在您的 中添加以下代码viewController

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

    [[self navigationController] setNavigationBarHidden:UIInterfaceOrientationIsPotrait(toInterfaceOrientation) animated:YES];

}
于 2014-08-19T10:28:11.053 回答
0

解决了!!!

我最终创建了一个“调整播放器大小”方法,它只是为播放器的视图设置了新的宽度和高度参数。这样我就不需要在每次设备改变方向时重新添加子视图,并且导航栏也可以在横向模式下看到。

感谢大家!!:)

于 2014-08-21T15:11:29.290 回答
0

您必须从其超级视图中删除该视图。

[playerViewController.view removeFromSuperview];

在添加为子视图之前。

于 2014-08-19T11:07:34.777 回答