【发布时间】:2014-01-26 13:46:51
【问题描述】:
iOS 6 发生以下情况。
我正在播放可以纵向或横向模式播放的视频。按下视频的“完成”按钮后,我将以编程方式将屏幕设置为肖像模式。
问题是当我打开应用程序时,我的状态栏是黑色的。
当我仅以肖像方式播放视频时,我仍然看到黑色状态栏,如下所示。
现在,当我在播放完成后播放视频并移动旋转并单击“完成”按钮时,我会在 potrait 模式下制作应用程序。 但是现在我的状态栏变成了浅黑色(可能是 BlackTransculent)。
如果你看到了,我看到了一些黑色的东西。
知道出了什么问题吗?这简直让我抓狂。
编辑 1
下面是我正在使用的代码。
在 viewcontroller.m 中
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
- (BOOL)shouldAutorotate
{
return NO;
}
在 CustomNavigation.m 中
- (BOOL)shouldAutorotate
{
return [self.visibleViewController shouldAutorotate];
}
- (NSUInteger)supportedInterfaceOrientations
{
if (![[self.viewControllers lastObject] isKindOfClass:NSClassFromString(@"ViewController")])
{
return UIInterfaceOrientationMaskAllButUpsideDown;
}
else
{
return [self.topViewController supportedInterfaceOrientations];
}
}
注意:
我不再使用下面的代码了。
[[UIDevice currentDevice] performSelector:NSSelectorFromString(@"setOrientation:") withObject:(id)UIInterfaceOrientationPortrait];
这个问题仍然存在......
问题是当我处于横向模式并单击完成按钮时。
【问题讨论】:
-
setOrientation:onUIDevice不公开,但您可能已经知道了。 -
@DavidRönnqvist :那我应该用什么?
-
@FahimParkar.. 你能分享你的代码吗?
-
@achievelimitless : 我已经更新了代码...
-
@FahimParkar。这里似乎没有错。你能把你的代码上传到github吗?让我看看能不能帮上忙
标签: objective-c ios6 orientation uiinterfaceorientation uistatusbar