在我的应用程序默认状态栏是可见的。我的应用程序支持横向和纵向。 当我想播放视频时,我隐藏了状态栏,以便我的视频将全屏显示。当视频完成后,我将状态栏返回。iPhone - 全屏和状态栏的典型问题
我用下面的代码来显示视频:
UIWindow* window = [[UIApplication sharedApplication] keyWindow];
[window addSubview:playerView];
(我不能在我的代码使用视图控制器这是一个限制。)
现在的问题: 我的应用程序是在现在的风景中,点击一个按钮,我会隐藏状态栏并开始播放视频。当视频播放时,我将手机的方向改为肖像,并允许视频完成。视频完成后,设备仍处于肖像模式,播放器视图被删除,状态栏再次显示。现在我注意到我的肖像视图向上移动了20个像素,状态栏显示。但是当我第一次启动应用程序时,状态栏首先显示在下方,然后显示我的视图。
我应该如何处理这种情况?
简单地在视图控制器中使用下面的代码。
- (void)viewDidLoad {
[[UIApplication sharedApplication] setStatusBarHidden:YES];
[self performSelector:@selector(showStatusAgain) withObject:nil afterDelay:6.0];
[super viewDidLoad];
}
-(void)showStatusAgain
{
[[UIApplication sharedApplication] setStatusBarHidden:NO];
}
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
当你用上面的代码运行应用程序时,它将以纵向开始。现在将其旋转到风景。你可以注意到这个问题。
可能是你可以尝试设置在viewDidLoad中您的视图的框架和也didRotateFrominterfaceOrientation方法....试试看它出来并检查位置... – 2011-03-17 06:28:57
一点代码肯定会得到一些帮助 – visakh7 2011-03-17 06:29:32
嗨7KV7,我添加了示例代码导致方向问题与状态栏。 – Satyam 2011-03-17 07:41:03