2012-09-27 3 views
0

내 스토리 보드에 2 개의 UIViewController가 있습니다. 첫 번째 (로컬 뷰 컨트롤러)가 내 ipad 창에 표시됩니다. 그리고 스토리 보드 (외부보기 컨트롤러)에 두 번째가 있습니다스토리 보드에서 뷰로드 UIViewController 외부 디스플레이

두 번째 UIViewController (외부보기 컨트롤러)의보기와 내용을 외부 디스플레이로 보내도록 만든 다른 창으로 보내려고합니다.

외부 디스플레이 (UIScreen = 1)에 UIwindow를 만들어 보내고 뷰를 추가 한 다음 레이블과 같은 것들을 잘 추가 할 수 있습니다. (두 번째 디스플레이에 표시)

외부 뷰 디스플레이 용으로 만든 Windows에 UIviewcontroller "View"(모든 내용 포함)를 보내려는 경우 ... 표시되지 않습니다.

이 작업을 수행 할 수 있습니까? 울부 짖는 코드에서

봐 :

//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; 
    } 

답변

0

창에의 ViewController의 뷰 계층을 추가하는 올바른 방법이 아니다.

아이폰 OS 4에서하고 rootViewController

externalWindow.rootViewController = externalViewController; 

로 설정해야 위의 그것은 또한 당신이 실제로 스토리 보드에서의 ViewController를로드하지 않는 것을주의 아마 가치가있다.

+0

의견을 보내 주셔서 감사합니다.하지만 해결책이 아닙니다. '[whiteField addSubview : externalView.view];를 사용했습니다. 하지만 그 전에 나는 'UIStoryboard * storyboard = self.storyboard; svc = [스토리 보드 instantiateViewControllerWithIdentifier : @ "myExternalUIViewControllerID"]; ' –

+0

그게 내 대답의 마지막 줄을 언급 한 것입니다. 또한 이것은 여전히 ​​viewController의 계층 구조를 창에 추가하는 올바른 방법이 아니라는 것을 나타냅니다. –

관련 문제