2 番目の画面が接続されている場合、通常の iPad 画面 (4:3) 以外に、16:9 ワイドスクリーン形式の UIWindow を含む 2 番目の UIScreen を使用する iPad アプリを作成したいと考えています。
接続にはAppleTVを使用しています。
iPadの画面をテレビにミラーリングしたいだけではありません.4:3の画像なので、16:9のワイドスクリーン全体を使用したいのです。
だから私は始めて、2番目のUIScreenをセットアップしました。ウィンドウは現在、テレビに緑色の背景を持つワイドスクリーン形式で表示されています。
//Check for Second Screen and if available, make a second UIWindow and put it on the second screen
NSArray* connectedScreens = [UIScreen screens];
NSInteger numberOfScreens = [[UIScreen screens]count];
NSLog(@"Number of screens connected: %d",numberOfScreens);
if (numberOfScreens > 1) {
//we have a second screen connected, display an extra window on the second screen
UIScreen* secondScreen = [connectedScreens lastObject];
UIWindow* secondWindow = [[UIWindow alloc]initWithFrame:secondScreen.bounds];
secondWindow.backgroundColor = [UIColor greenColor];
[secondWindow setScreen: secondScreen];
[secondWindow makeKeyAndVisible];
self.tvWindow = secondWindow;
}
ここまでは順調ですね。
しかし、ナビゲーション/ビュー階層をセットアップする方法がわかりません。
異なる画面サイズに合わせて最適化された、両方の UIScreens (iPad + TV) に同じデータを表示したい。
表示する必要があるデータはまったく同じで、同様の viewController の異なるインスタンスをあちこちに配置したくないので、ViewController ごとに 2 つの xib ファイルを使用できると考えました。 ' viewController のプロパティと 16:9 ワイドスクリーン テレビ用の 1 つの xib を、同じ viewController の 'tvView' プロパティに入れます。
iPad UIWindow には、さまざまな UIViewController を回転させる UINavigationController があります。
したがって、ViewController を ipad ウィンドウの Navigationcontroller にプッシュすると、対応する tvView を TV-xib から TV 画面の UIWindow に追加できます。
私はここで正しい道を進んでいますか?これをどのように行いますか?
ちょっとしたスケッチ:
:)