2012-12-15 4 views
2

방금 ​​Xcode에서 Storyboard를 사용하기 시작했습니다. 내부에 버튼이있는 시작보기가 있습니다. 단추를 클릭 할 때 특수보기를로드하는 방법이 있습니까?Xcode에서 버튼을 클릭하면보기로드 Storyboard

-(IBAction)loadRegistration:(id)sender { 
    // load registration controller 
    UIStoryboard *storyboard = self.storyboard; 
    RegisterController *svc = [storyboard instantiateViewControllerWithIdentifier:@"RegisterController"]; 
    [self presentViewController:svc animated:YES completion:nil]; 
} 

답변

4

당신은 새로운 뷰를로드하는 코드를 필요가 없습니다

나는 단지이 해결 방법을 발견했다. 버튼에서 콘트롤러로 콘트롤 드래그하고 segue 타입을 선택하면됩니다. 버튼이있는 컨트롤러가 내비게이션 컨트롤러에 있으면 푸시 또는 모달을 선택할 수 있습니다. 그렇지 않은 경우 모달을 선택하려고합니다.

+0

저는 항상 "푸시 (push)"를 사용했습니다. 결코 효과가 없었습니다. 그러나 "모달"은 예상대로 작동합니다. 고마워. – doonot

+0

@dooonot, yes, push는 컨트롤러가 내비게이션 컨트롤러에 내장 된 경우에만 작동합니다. – rdelmar

1

당신이 한 방법은 괜찮아 보입니다. Interface Builder (Ctrl + 드래그)에서 현재 View Controller를 Segue로 표시 할 컨트롤러에 연결할 수도 있습니다. 버튼을 두드리면 [self performSegueWithIdentifier:@"segue identifier"];으로 전화합니다. 물론, 당신은 IB에있는 segue의 id를 설정합니다. 버튼을 새로운 IB (Ctrl + 드래그)의 컨트롤러와 연결하는 것이 훨씬 더 간단합니다. 이렇게하면 IBAction이 필요하지 않습니다.