做一个非常简单的iPad应用程序,可以全屏播放视频。我希望视频完全居中,但在初始加载时它有点太过分了。当我旋转它时,视图会自动重置以完全居中。显然,我很乐意从一开始就让它看起来像这样。
这是我在viewDidLoad中的代码:
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"movie" ofType:@"m4v"]];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
[moviePlayer prepareToPlay];
CGRect screenBounds = [UIScreen mainScreen].bounds;
[moviePlayer.view setFrame:CGRectMake(0, 0, screenBounds.size.height, screenBounds.size.width)];
[self.view addSubview:moviePlayer.view];
moviePlayer.controlStyle = MPMovieControlStyleFullscreen;
[moviePlayer play];
[super viewDidLoad];
应用程序设置为仅以横向模式显示,因此旋转每180度(而不是90度)生效。 BTW moviePlayer var在.h文件中设置如下:
@property (nonatomic, strong) MPMoviePlayerController *moviePlayer;
然后它在我的ViewController中合成:
@synthesize moviePlayer;
所有人都有任何想法吗?我尝试将“setFrame”更改为从0开始,而不是0,0,但是在稍后的轮换中将事情搞砸了。如果有一种方法可以忽略初始加载时的哑状态栏,我很想知道它。感谢。
答案 0 :(得分:4)
尝试在-viewDidLayoutSubviews
中设置框架。应该在那里处理布局,而不是在设置方法中处理。
答案 1 :(得分:2)
尝试拨打
[self setWantsFullScreenLayout:YES];
在viewcontroller实现中。这应该强制它“忽略初始加载时的哑状态栏”。