2

私のアプリケーションは縦向きのみをサポートしていますが、YouTubeビデオを表示するWebビューがあり、このビデオを全画面で再生するときに、プレーヤーが横向きになれるようにしたいと思います。ビデオのみのランドスケープをサポートするにはどうすればよいですか?

また、外観APIを使用して、アプリケーション全体でナビゲーションバーとバーボタンアイテムのスタイルを設定します。これは、ムービープレーヤーにも適用されます。アプリケーションの他の部分で外観APIを使用しながら、ムービープレーヤーのデフォルトのレイアウトを使用するにはどうすればよいですか?

4

1 に答える 1

5

私はなんとか両方の問題を解決することができました。

回転の場合は、ターゲットの概要で横向きを有効にします。

ここに画像の説明を入力してください

次に、ViewControllerに次の行を追加します。最上位のコントローラーに追加するだけで十分です。たとえば、アプリケーション全体がナビゲーションコントローラーで実行されている場合は、ナビゲーションコントローラーをサブクラス化できます。

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

- (BOOL)shouldAutorotate
{
    return NO;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return (toInterfaceOrientation == UIInterfaceOrientationPortrait);
}

shouldAutorotate技術的には、iOS 6では回転しないので、戻ってきれば十分だと思いますNO。実装しない場合は、shouldAutorotateToInterfaceOrientation:iOS5ではデフォルトで上記になっていると思います。とにかく含めたいと思います。

これにより、アプリが縦向きでのみ機能するようになりますが、MPAVController(UIWebViewがビデオの表示に使用する)には影響しないため、正しく回転します。

MPAVControllerでの外観の設定を回避するために、外観APIへの呼び出しを次のように変更しました。

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"MyBackgroundImage.png"] forBarMetrics:UIBarMetricsDefault];

[[UINavigationBar appearanceWhenContainedIn:[UINavigationController class], nil] setBackgroundImage:[UIImage imageNamed:@"NavigationBar_Background.png"] forBarMetrics:UIBarMetricsDefault];

これにより、ナビゲーションバーがMPAVControllerにはないナビゲーションコントローラー内に含まれている場合にのみ、背景が設定されます。

于 2012-12-21T09:02:57.953 に答える