SW
[Swift] 네비게이션바, 화면이동 본문
0. Storyboard Entry Pointer
- View Controller 클릭 후 오른쪽 상단 속성 보여주는 것을 클릭하면 Is Initial View Controller라는 항목이 존재한다. 저것을 체크하면 스토리보드의 Entry Pointer가 생기고 체크해제하면 사라진다.
- Entry Pointer는 화면에 진입했을 때 가장 처음 보여지는 화면을 가리키는 것이다.
1. 네비게이션바, 화면이동
- 기존의 화면을 지운 후 Navigation Cotroller를 추가해준다.
- 오른쪽의 Root View Controller Scene을 삭제한다.
- Navigation Controller의 Is Initial View Controller 버튼을 누른다.
- Navigation Controller에게 관장당할 루트 컨트롤러를 만든다.
- View Controller를 클릭해서 추가한다.
- 그 후 Ctrl+드래그를 통해 아래 그림과 같이 한다.
- 그렇게 되면 다음과 같은 화면이 뜨고 root view controller를 클릭해준다.
- 아래와 같이 사이에 연결고리가 생긴다.
- Move 버튼을 만들고
- View Controller를 하나 더 추가해준다.
- 두번째 Controller의 Custom Class 를 ViewController로 설정해준다.
- Ctrl+드래그로 적절한 위치에 갖다 놓는다.
- 화면 이동에 사용할 버튼 액션을 만든다.
- 새로운 swift 파일 하나를 만들어준다.
- DetailController라는 이름을 붙여준다.
- 새로 만든 파일을 마지막에 있는 화면과 연결시켜준다.
- 그 후 오른쪽 화살표를 누른 후 잘 연결되었는지 확인한다.
- 다시 Move 버튼이 있는 ViewController로 돌아와서 Editor 두개를 띄워놓는다.
- 화면이동방법
- 스토리보드에서 이동할 컨트롤러를 찾는다.
- 찾음을 당할 컨트롤러에 Identity를 부여한다.(고유한 Id 값을 넣으면 어디서든 찾을 수 있다. 그냥 클래스이름과 똑같이 설정해주면 편하다.)
- 스토리보드에서 이동할 컨트롤러를 찾는다.
2. 이동할 컨트롤러로 이동한다.
- if let controller 구문은 옵셔널 바인딩이라고 하며 값이 있을 경우 실행한다는 의미이다.
- let은 상수, var은 변수앞에 붙는다.
- 상수 controller에다가 "DetailController"의 ViewController를 찾아서 넣고
- 넣은 controller를navigation에 다시 넣는다. animated 효과는 true로 해준다.
- 다음은 실행시킨 화면이다.
- 위 화면에서 Move 버튼을 누르면 아래 화면으로 넘어갈 수 있다.
- 아래 화면에서 왼쪽 Edge를 오른쪽으로 밀거나 Back 버튼을 눌러 위에 화면으로 돌아갈 수 있다.
2. 첫 화면 설정
- 앱을 실행했을 때 가장 먼저 뜨는 화면을 설정하고 싶으면 다음과 같이 Main임을 확인하고 Entry Pointer도 설정이 제대로 되어있는지 확인해야한다.
'대학교 > iOS' 카테고리의 다른 글
[Swift] news-app & table view (0) | 2020.02.18 |
---|---|
[Swift] 웹뷰(WKwebView), 옵셔널 바인딩 (0) | 2020.02.02 |
[Swift] Xcode11을 통한 swift ui (0) | 2020.02.02 |
[Swift] 스토리보드와 클래스 연결, 버튼 클릭 (0) | 2020.02.02 |
[Swift] 오토레이아웃, 기본 UI 그리기 (0) | 2020.02.02 |
Comments