뷰 컨트롤러의 수명 주기
// < 뷰 컨트롤러의 수명주기 (Life Cycle) >
// viewDidLoad : 뷰가 생성될 때 한번만 호출됨. (초기화 용도)
// viewWillAppear : 뷰가 화면에 보일 때마다 호출됨. (화면 갱신 용도)
// viewDidAppear : 뷰가 화면에 보이고 나서 매번 호출됨.
// viewWillDisappear : 뷰가 화면에 사라지기 전마다 호출됨. (데이터 전달)
// viewDidDisappear : 뷰가 화면에 사라지고 나서 매번 호출됨.
// viewWillLayoutSubviews : 컨트롤(서브뷰)들의 레이아웃을 잡기 전에 호출됨.
// viewDidLayoutSubViews : 컨트롤들의 레이아웃을 잡고 나서 호출됨
위와 같은 수명 주기로 생성된다.
다른 화면으로 이동 시 다음과 같이 호출됨
back 할 시, 다음과 같이 호출됨.
여기서 주의할 점은
1. viewWillAppear 는 화면을 돌아와도 호출이 되지만 viewDidLoad 는 화면이 생성될 때만 호출된다!
2. 자주 쓰이는 것은 viewDidLoad, viewWillAppear, viewWillDisappear 가 자주 쓰임
3. viewWillLayoutSubviews, viewDidLayoutSubviews 이 둘은 IB 에서 layout 을 잡는데 사용자의 배치가 있는데 내가 원하는 지점에 나중에 유저 코드로 수동적으로 바꾸고 싶을 때... 그런 경우가 바로 쓰이는 경우이다.
팝업창 띄우기
1. Seque 로 이동하는 방법
위와 같이 메인화면의 버튼을 팝업창 화면으로 드래그하면 창이 뜨는데 여기서 present Modally 를 클릭해준다
2. 코드로 이동하는 방법
NewVC 에 대한 설명은 앞서 포스팅한 네비게이션 컨트롤러와 굉장히 유사하다.
2023.05.13 - [🦜 Swift] - [iOS] Navigation Controller 공부 기록 - 1
@IBAction func onBtnPopup(_ sender: UIButton) {
let NewVC = self.storyboard?.instantiateViewController(withIdentifier: "PopupVC") as! PopupViewController
self.present(NewVC, animated: true, completion: nil)
}
@IBAction func onBtnClose(_ sender: UIButton) {
self.dismiss(animated: true, completion: nil)
// completion 은 팝업창 닫고 후에 실행할 코드가 있을 때 작성해준다
}
팝업창 코드는 위와 같이 present, dismiss 를 기억해두자!
'🦜 Swift' 카테고리의 다른 글
[iOS] Tab Bar Controller 생성 - 4 (0) | 2023.05.21 |
---|---|
[iOS] 전역변수, 클래스간 데이터 전달 - 3 (0) | 2023.05.14 |
[iOS] Navigation Controller 공부 기록 - 1 (0) | 2023.05.13 |
[TIL] UIView, UIViewController, Delegate (0) | 2023.05.05 |
[iOS] weak var (0) | 2023.05.04 |