2012-05-07 6 views
1

이것은 아마도 매우 간단한 질문이며 사과라면 사과드립니다! 나는 다시 원래보기로 돌아 가면Xib ViewController

는 난 그냥

[self.view removeFromSuperview]; 

을 사용 나는

 mainviewcontroller = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle: [NSBundle mainBundle]]; 
    [self.view addSubview: mainviewcontroller.view]; 

를 사용하여 다른 1 XIB에서 이동, 뷰 컨트롤러 기반의 응용 프로그램을하지만 난 다시 할 viewdidload 메소드를 호출하십시오. 보기를 다시 만들 필요없이 어떻게 할 수 있습니까?

답변

0

addSubview은 새로운보기 컨트롤러가 인계 받아보기 세트를 제시하는 올바른 방법이 아닙니다. 대신이 같은

사용 무언가 :

MainViewController *mainviewcontroller = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle: [NSBundle mainBundle]]; 
[self presentViewController:mainviewcontroller animated:YES completion:completion:^{}]; 
[mainviewcontroller release]; 

스토리 보드를 사용하는 경우, 당신은 항상 SEGUE를 생성하고 프로그램 또는 스토리 보드 자체를 통해 설정을 호출 할 수 있습니다.

pre-iOS 5 기기를 지원하려면 UIViewController에는 이전 방법 (iOS5에서는 더 이상 사용되지 않으며 원래 제안으로 대체 됨)이 있습니다.

- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated 
+0

안녕하세요. 이전 OS에서 작동해야하므로 스토리 보드를 사용할 수 없습니다. 그래서 내가 위의 viewdidload 메서드를 호출해야 사용해야합니까? viewfrom removefromview 메서드를 사용하여 확인을 제거합니까? –

+0

이 호출은 기존보기 컨트롤러를 사용자가 지정한 새 컨트롤러로 대체합니다. 나는 당신이'viewDidLoad'에서 이것을하기를 원할 것 같지 않거나 원래의 view/xib/viewcontroller가 본질적으로 바이 패스되고 비 기능적 일 것입니다. – DBD

+0

감사합니다. 덕분에 많은 도움이되었습니다. –

관련 문제