ストーリーボードに 2 つの UIViewController があり、最初の (ローカル ビュー コントローラー) が iPad ウィンドウに表示されます。また、ストーリーボードにも 2 つ目があります (External View Controller)
ビューと 2 番目の UIViewController (外部ビュー コントローラー) のコンテンツを、外部ディスプレイに送信するために作成した別のウィンドウに送信したいと考えています。
UIwindow を作成して外部ディスプレイ (UIScreen = 1) に送信し、そこにビューを追加してから、ラベルなどを適切に追加できます。(セカンドディスプレイに表示されます)
しかし、外部ディスプレイ用に作成した Windows に UIviewcontroller の「ビュー」(すべてのコンテンツを含む) を送信したい場合、それが表示されません。
私はこれを行うことができますか?
次のコードを見てください。
//this code is at my main view controller
#import "ASHExternalViewController.h" //for External View Controller
if ([[UIScreen screens] count] > 1)
{
// Associate the window with the second screen.
// The main screen is always at index 0.
UIScreen* secondScreen = [[UIScreen screens] objectAtIndex:1];
CGRect screenBounds = secondScreen.bounds;
//Alloc external window
UIWindow *externalWindow = [[UIWindow alloc] initWithFrame:screenBounds];
externalWindow.screen = secondScreen;
// Add a white background View to the window
UIView* whiteField = [[UIView alloc] initWithFrame:screenBounds];
whiteField.backgroundColor = [UIColor whiteColor];
[externalWindow addSubview:whiteField];
//up to this point all OK, I can see the white background view in the external display
//
//Add uiviewcontoller at storyborad to external window
ASHExternalViewController *_externalView = [[ASHExternalViewController alloc] initWithNibName:@"ASHExternalViewController" bundle:nil];
[whiteField addSubview: externalView.view];
//does no add the view in the external UIViewController in story board
// Go ahead and show the window.
externalWindow.hidden = NO;
}