2012-07-01 4 views
2

StoryBoard를 사용하여 viewcontroller를 표시하는 새로운 방법입니다.iOS Xcode 4.2 StoryBoard를 사용하여 ViewController보기

UIStoryboard* secondStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 

UINavigationController* secondViewController = [secondStoryboard instantiateViewControllerWithIdentifier:@"Connect"]; 

[self presentViewController: secondViewController animated:YES completion: NULL]; 

컨트롤러 연결을 제시하는 오래된 방법은 내가 그렇게 할 수있는 방법, 나는 스토리 보드 방식으로 연결 컨트롤러의 setID 함수를 호출 할이

Connect *connect = [[[Connect alloc] initWithNibName:@"Connect" bundle:nil] autorelease]; 

[self presentViewController:connect animated:YES completion:NULL]; 
NSString *userid; 
[email protected]"123"; 

[connect setID:userid]; 

처럼? Connect 컨트롤러의 인스턴스를 직접 가져올 수없는 것 같습니다.

답변

0

왜 UINavigationController로 캐스팅하고 있습니까? 네가하는 일을 그냥해라. 당신은 사용자가 상호 작용할 때 발생하는 제어 할 수 있도록

Connect* connect = [secondStoryboard instantiateViewControllerWithIdentifier:@"Connect"]; 
+0

왜냐하면 내가 할 경우 viewcontroller에 내가 원한 뒤로 버튼이 있기 때문입니다. –

1

당신은 뷰 컨트롤러를 서브 클래 싱해야 엑스 코드, 파일에

(앱이 혼자 segues에서 작동하지 않는 한.) -> 새로 만들기 -> 파일 -> 코코아 터치 클래스. 서브 클래스 (귀하의 경우) 과 같은 클래스를 UINavigationController으로 만드십시오.

내 사용자 지정보기 컨트롤러 클래스에 NewVC이라는 사용자 지정 메서드를 만들고 싶습니다. 방금 [MyAwesomeViewController NewVC] 호출 할 수있는 새로운 하나를 만들 때

+(MyAwesomeViewController *)NewVC { 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName: @"MyStoryboard" bundle: nil]; 
    return [storyboard instantiateViewControllerWithIdentifier: @"MyAwesomeViewController"]; 
} 

이 방법과 새로운 뷰 컨트롤러의 인스턴스를 반환합니다 : 그것은 당신이 위의 목록 모든 것을, 플러스 사용자 정의 설정을 할 수 있습니다.