본문 바로가기

iOS

[iOS] 스토리보드에서 코드를 이용한 View 전환에 관한 정리

1. 직접 View 를 띄우기


UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];

UIViewController *view = [storyboard instantiateViewControllerWithIdentifier:@"MyStoryBoardView"];   


[self presentViewController:view animated:TRUE completion:nil];


네비게이션 컨트롤러를 사용할 땐

UINavigationController *navi = [storyBoard instantiateViewControllerWithIdentifier:@"MyStoryBoardNavi"];


[self presentViewController:navi animated:TRUE completion:nil];


로 바꿔준다.


위 코드에서 instantiateViewControllerWithIdentifier 는 띄울 스토리보드의 아이덴티디 인스펙터에서 

Identity 의 StoryBoard ID 이다.



2. Segue를 통해 띄우기


[self performSegueWithIdentifier:@"transitionView" sender:self];


performSegueWithIdentifier 는 스토리보드에서 각각의 View를 연결하는 화살표를 클릭하여 볼수 있는 어트리뷰트 인스펙터의 Identifier 이다.

위 메소드는 modal View 일때만 가능하다.


performSegueWithIdentifier를 이용하면 불러오는 View에 데이터를 전달 할수 있는데 이는 다음의 델리게이트 메소드를 이용하면 된다.


- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

    myViewController *view= [segue destinationViewController];

    view.mystring = @"넘기는 값";

}



3. View의 종료


스토리보드도 dismissViewControllerAnimated 를 통해 종료할 수 있다.


//애니메이션 결정

[self setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];

//종료

[self dismissViewControllerAnimated:YES completion:nil];