clamp
Clamp
clamp
글쓰기 관리
전체 방문자
오늘
어제
  • 분류 전체보기 (509)
    • IOS (85)
    • SwiftUI+TCA+Combine (9)
    • RxSwift + MVVM (56)
    • Clean Architecture (12)
    • SWIFT (56)
    • iOS - TDD (2)
    • 디자인패턴 (4)
    • CS (56)
      • 알고리즘 (29)
      • 운영체제 (15)
      • 자료구조 (2)
      • 네트워킹 (4)
      • 기타 (6)
    • 회고 (0)
    • Firebase (18)
    • SwiftUI (10)
    • iOS - UIKit (11)
    • iOS - 오픈소스 (6)
    • 코딩테스트 (166)
      • 프로그래머스 (164)
    • 정보처리기사 (14)
    • GitHub (2)
글쓰기 / 관리자

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Q
  • ㅅ
  • Swift
  • uikit

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
clamp

Clamp

UIKIT. UINavigationController
iOS - UIKit

UIKIT. UINavigationController

2022. 2. 11. 15:33

일단 네비게이션 컨트롤러를 스토리보드에 추가해준다.

storyboard entry point를 네비게이션 컨트롤러로 지정해준 후 네비게이션 컨트롤러를 메인뷰와 이어준 뒤 root view controller로 지정해주면 메인 view가 rootview가 된다.

 

 

뷰는 스택 자료구조처럼 움직이게된다.

First in Lsat out으로 먼저 들어간 계층이 마지막에 나오게 된다

이를 스택 자료구조에선 스택에 넣는다 -> Push, 나오게된다 -> POP

 

Sugue방식 -> 스토리보드에서 버튼을 우클릭 드래그앤 드롭을 view로 하여 쉽게 구현 가능하며, 이동된 뷰는 스택에 PUSH된다.

code방식 

공통: @IBAction을 만들어 컴포넌트가 작동됐을 경우의 Action함수를 만들어 주어한다.

 

Push(root -> 다른뷰) -> Action함수 내부에서 작성

1.  guard let 문으로 옵셔널 바인딩을 해준다.

guard let 상수명 = self.storyboard?.instantiateViewController(withIdentifier: "Storyboard ID") as CodePushViewControllerelse { return }

 

옵셔널 바인딩을 해주는 이유는  뷰가 있을지 없을지 모르는 옵셔널값이기 때문에  옵셔널 바인딩을 해준 후 사용.

상수명은 옵셔널 바인딩을 받을 상수의 이름.

Storyboardd은  실제뷰에 할당해준 클래스의 Identify의 Storyboard ID를 적는다. 뷰마다 클래스는 하나씩 가지고 있다.

스토리보드에서 클래스명을 지정해줄 수 있다.

 

Storyboard ID와 클래스 지정법

클래스명에 해당하는 뷰컨트롤러 클릭 

1. CustomClass에서 Class를 선택해 준다.

2. Identify를 입력해준다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. 바인딩 받은 뷰를  Push 한다.

        self.navigationController?.pushViewController(바인딩받은상수, animated: Bool)

실제로 화면 전환이 일어나는 순간은 이때.

 

POP(Push된 뷰를 제거한다)

        self.navigationController?.popViewController(animated: Bool)

 

pop은 어떠한 뷰를 불러올 필요 없이 제거?하기만 하면 된다. 그러므로 바인딩이 필요하지 않다.

 

 

       self.navigationController?.popToRootViewController(animated: Bool)

 

해당 메소드는 바로 Root뷰까지 POP하는 메소드.

 

 

해당 UINavigationController는 Present방식은 설명하지 않았습니다.

 

저작자표시 비영리 동일조건 (새창열림)
    'iOS - UIKit' 카테고리의 다른 글
    • UIkit - UITableView
    • UIKIT. 화면간 데이터 전달.
    • UIKIT. ViewController Life Cycle
    • UIKIT - UI컴포넌트와 메서드
    clamp
    clamp
    주니어 iOS개발자의 발악!!!!!!!

    티스토리툴바