2009-09-19 7 views
0

두 개의 XIB가 해당보기 컨트롤러와 함께 있습니다. MainViewController 및 AboutViewController라고 할 것입니다. XIB의 이름은 ViewController의 이름과 완전히 동일합니다. MainViewController에서 버튼을 클릭하면 AboutViewController를 표시하려고합니다.이 코드가 내 NIB/XIB를로드하지 않는 이유

은 내가 MainViewController이 같은 코드를 가지고 :

- (IBAction) infoButtonAction:(id)sender { 
    AboutViewController *aboutViewController = [[AboutViewController alloc] init]; 
    [[self navigationController] pushViewController:aboutViewController animated:YES]; 
} 

그러나 아무 일도 발생하지의 AboutViewController가 표시되지 않습니다. 또한 다음 줄을 시도했습니다.

AboutViewController *aboutViewController = [[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:nil]; 

그러나 아무 소용이 없습니다. 내가 뭘 놓치고 있니?

답변

0

오류를 찾으셨습니까? IB에 버튼이 올바르게 연결되어 있는지 확인 했습니까?

모달보기 컨트롤러를 사용해 보셨습니까?

+0

내가 오류를 얻을하지 않습니다

- (IBAction) infoButtonAction:(id)sender { AboutViewController *aboutViewController = [[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:nil]; [[self navigationController] pushViewController:aboutViewController animated:YES]; [aboutViewController release]; } 

또한,이 같은 방법 내부 nil이 아닌 것을 확인해야합니다. 버튼은 클릭 기능 내부의 중단 점에서 멈추기 때문에 올바르게 배선되어 있습니다. – AngryHacker

1

Interface Builder에서 AboutViewController.xib를 검사하고 File Inspector가 클래스 관리자에서 AboutViewController으로 설정되어 있는지 확인하십시오. 또한 파일 소유자의 view 속성이 xib의보기에 연결되어 있는지 확인하십시오. 마지막으로, 코드는 읽어야 표시 :

UINavigationController * nc = self.navigationController; 
+0

당신이 옳습니다. self.navigationController는 nil입니다. 왜 그걸 어떻게 할 수 있는지 말해 줄 수 있니? – AngryHacker

+0

즉, MainViewController가 navigationController 안에 있지 않습니다. MainViewController를 작성하는 방법을 검토해야합니다. – Jason