이번에는 코드로만 화면을 전환하는 방법에 대해 알아볼께요
먼저 Segue를 통해 화면을 전환하는 방법도 있답니다. 아래 링크를 참고해주시면 되겠습니다!
fdee.tistory.com/entry/Xcode-기능-화면전환하는-방법-change-ViewController
위의 Segue를 통해 화면을 연결하다 보면 단점이 바로
아래 사진처럼 지저분해질 수 있답니다ㅠㅠ
그래서 이번에는 코드로만 연결하는 방법을 알려드리겠습니다!
1) Main.storyboard
먼저 이동하고자 하는 화면들에게 각각 이름을 부여해야 합니다
Storyboard ID 값에 이름을 넣습니다
저같은 경우 쉽게 짓기 위해서 ViewController의 이름과 동일하게 사용했습니다
이제 이름이 지어졌다면 화면을 이동시킬텐데 여기서
Navigation Controller를 사용하는지 여부에 따라 두가지 방법이 있습니다.
2) ViewController
첫번째로 Navigation Controller가 없는 경우
이 경우엔 화면전환은 아래 코드를 사용하시면 되겠습니다!
< 화면전환 코드 >
let vcName = self.storyboard?.instantiateViewController(withIdentifier: "PhoneCheckViewController")
vcName?.modalPresentationStyle = .fullScreen //전체화면으로 보이게 설정
vcName?.modalTransitionStyle = .crossDissolve //전환 애니메이션 설정
self.present(vcName!, animated: true, completion: nil)
여기서 withIdentifier 값에 이동하고자 하는 화면이름을 넣어주시면 되겠습니다!
또한, 위 코드에서 두번째 줄을 통해 이동한 화면을 전체화면으로 보이게 설정이 가능합니다
세번째 줄을 통해 전환 애니메이션 설정이 가능합니다
다양한 설정이 가능하기 때문에 참고하시기 바랍니다
위 코드를 통해 이렇게 화면전환이 이루어지게 됩니다
두번째로 Navigation Controller 사용하는 경우
이번에는 이전화면으로 간편하게 갈 수 있는 Navigation Controller를 사용했을때 방법입니다.
이번에는 버튼이 많은 화면이다 보니 사진처럼
화면전환을 위한 함수를 따로 만든다음에 이동할 위치를 String 값으로 넣었습니다
아래의 코드처럼 이동하고자 하는 위치인 where를 알맞게 넣어주시면 되겠습니다!
< 화면전환 코드 (Navigation Controller) >
func goToViewController(where: String) {
let pushVC = self.storyboard?.instantiateViewController(withIdentifier: `where`)
self.navigationController?.pushViewController(pushVC!, animated: true)
}
이렇게 코드를 통해 화면전환이 가능하답니다!
이렇게 코드를 통해 화면전환을 구현하면
훨씬 깔끔한 프로젝트가 됩니다
'iOS 개발자 > Xcode 기능 정리' 카테고리의 다른 글
Xcode 기능 - 애니메이션 : 색 변경하기 / animation change color (0) | 2021.02.04 |
---|---|
Xcode 기능 - 글씨체 넣는 방법 / add custom font (0) | 2021.02.03 |
Xcode 기능 - 화면전환하는 방법 / change ViewController (2) | 2021.02.03 |
Xcode 기능 - 키보드 입력시 반응하기 - detect keyboard change (0) | 2021.02.03 |
Xcode 기능 - 버튼 테두리 넣기 / set button border (0) | 2021.02.02 |