2

フルスクリーンでビデオを再生する非常にシンプルな 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];

アプリは横向きモードでのみ表示されるように設定されているため、回転は (90 度ではなく) 180 度ごとに有効になります。ところで、moviePlayer 変数は .h ファイルで次のように設定されます。

@property (nonatomic, strong) MPMoviePlayerController *moviePlayer;

次に、ViewController で合成されます。

@synthesize moviePlayer;

誰にもアイデアはありますか?「setFrame」を 0,0 ではなく 0,-20 で開始するように変更しようとしましたが、後のローテーションで問題が発生しました。初期ロード時にダムステータスバーを無視する方法があれば、ぜひ知りたい. ありがとう。

4

2 に答える 2

4

でフレームを設定してみてください-viewDidLayoutSubviews。レイアウトは、セットアップ メソッドではなく、そこで処理する必要があります。

于 2013-02-06T22:18:42.297 に答える
2

電話してみる

[self setWantsFullScreenLayout:YES];

ビューコントローラーの実装で。これにより、「初期ロード時にダムステータスバーを無視する」ように強制されます。

于 2013-02-06T22:46:17.043 に答える