iOS 스토리보드를 이용한 modal 화면 전환방법
posted on 03 Jul 2017 under category iOS
iOS 에서 화면전환을 하는 방법은 크게 2가지가 있다. 첫번째로는 Modal 이고 두번째는 Push 있다. Modal은 밑에서 위로 새로운 화면이 올라오는 것이고, Push는 같은 Navigation Bar 에서 옆으로 이동하는 것이다. (테스트 결과 네비게이션controller 가 아닌 일반 ViewController 에서 Push 하니까 modal 처럼 위로 올라옴)
그럼 Modal로 화면을 전환하는 방법을 알아보자.
First ViewController 에서 버튼을 컨트롤 드래깅하여 Second Viewcontroller에 놓으면 위의 이미와 같이 창이 나타난다.
modal 클릭하면 연결이 된다.
위의 화면처럼 나온다면 성공
이미지에서 보이는 중앙에 연결선을 클릭 후 우측처럼 identify를 지정해준다.
[self performSegueWithIdentifier:@"examSegue" sender:nil];
그 후 원하는 곳에서 위의 코드처럼 사용하면 된다.
(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
SecondViewController *sVC = [segue destinationViewController]//이런식으로 이동 후의 화면에 값을 넘겨줄수 있다.
//NavigationController 일경우는 밑처럼 사용하면 됨.
UINavigationController *nav = [segue destinationViewController];
SecondViewController *sVC = nav.viewControllers.firstObject;
위의 두 방법은 FirstViewController 의 prepareForSegue 메소드를 실행한 후 SecondViewController로 넘어간다.
좌측에서 storyboard 이름을 확인한다.
identifier 에 들어가는 이름을 설정한다.
// 헤더파일에 import 한다.
#import "SecondViewController.h"
// 원하는 위치에
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; // 스토리보드의 이름
SecondViewController *secondVC = (SecondViewController *)[sb instantiateViewControllerWithIdentifier:@"secondViewController"];
[self presentViewController:secondVC animated:true completion:nil];
// Appdelegate 에서 사용할때
// [self.window.rootViewController presentViewController:secondVC animated:false completion:nil];
[self dismissModalViewControllerAnimated:NO];
검색 : 모달 화면전환 modal