0

iOS3時代から整備されていないiOSアプリを継承しています。アプリは、いくつかのデータを表示するためにWebビューに依存しています。機能の1つは、フルスクリーンモードでビデオを表示することです。クライアントが必要とするのは、デバイスの回転に反応するビデオですが、他のすべてのビューはポートレートのみである必要があります。

私はなんとかすべてwindow.rootViewControllershouldAutorotate変更を理解することができました。必要なときにだけアプリを回転させます。私が直面している問題は、ビデオの回転が「多すぎる」ことです。

デバイスを左に回転させると、ビデオが180度回転します(逆さまになります)。右に回転させると、ビュー幅が半分に縮小しますが、向きは正しいです。問題がどこにあるのかよくわかりません。

誰かが同様の問題を抱えていましたか?

4

1 に答える 1

2

プロジェクトを継承することで同じ問題が発生しました。私の場合、アプリケーションはナビゲーションベースであり、問​​題は、メインUINavigationControllerのビューがビューのサブビューとして追加されていたことでしたUIViewController

だから、最初は私のapplication:didFinishLaunchingWithOptions::にこのコードがありました

self.viewController = [[MyViewController alloc] init];
self.window.rootViewController = self.viewController;

そしてこれはMyViewController's viewDidLoad

UINavigationController *navController = [[UINavigationController alloc] init];
[self.view addSubview:navController.view];

それから私は単にこれに変更application:didFinishLaunchingWithOptions:しました:

self.viewController = [[MyViewController alloc] init];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
self.window.rootViewController = self.navigationController;

これがお役に立てば幸いです。

于 2013-01-24T13:45:39.800 に答える