Programming/Swift(iOS)
Swift 화면 전환 방법
홍열
2021. 9. 7. 11:42
728x90
아이폰 화면 구성
- StackView로 쌓아올리는 방법
- Push로 현재 ViewController위에 새로운 화면을 쌓고
- Pop으로 현재 ViewController를 없애, 이전 화면으로 돌아간다.
화면 전환 방법
- 소스코드를 통해서 전환하는 방식
- StoryBoard를 통해 전환하는 방식
ViewController의 View위에 다른 View를 가져와 바꿔치기
ViewController에서 새로운 ViewController 호출하기
NavigationController를 이용하여 화면전환
SegueWay를 사용하여 화면 전환
예제 1 - 소스코드상에서 present와 dismiss 이용
mainViewController에서 secondViewController를 호출하는 경우
secondViewController의Identity의 StoryboardID를 꼭 넣어줘야한다.
이 경우에는 NavigationBar가 자동으로 나오지 않는다.
그리고 mainViewController에서 아래와 같이 호출 해준다.
@IBAction func tapCodePushButton(_ sender: Any) {
guard let viewController = self.storyboard?.instantiateViewController(identifier: "secondViewController") as? secondViewController else { return }
self.navigationController?.pushViewController(viewController, animated: true)
}
secondViewController에서 해당 ViewController를 종료하고 싶으면 dismiss 이용
@IBAction func tapBackButton(_ sender: Any) {
self.navigationController?.popViewController(animated: true)
}
예제 2 - 소스코드상에서 push와 pop 이용
예제1번과 다르게 Navigation을 사용하는 것이므로, backButton이 자동으로 나온다.
@IBAction func tapCodePushButton(_ sender: Any) {
guard let viewController = self.storyboard?.instantiateViewController(identifier: "secondViewController") as? secondViewController else { return }
self.navigationController?.pushViewController(viewController, animated: true)
}
@IBAction func tapBackButton(_ sender: Any) {
self.navigationController?.popViewController(animated: true)
}
예제 3 - segue로 push하기
storyboard에서 drag를 하여 대상이 되는 ViewController에 끌어다 놓으면 된다.
그리고 종류를 show로 해주면 된다.
예제 3 - segue로 present하기
storyboard에서 drag를 하여 대상이 되는 ViewController에 끌어다 놓으면 된다.
그리고 종류를 Present Modally로 해주면 된다. 그리고 presentation 옵션을 여러가지로 지정할 수도 있다.