| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
- level1
- 블렌더
- 파이썬
- c언어
- 포토샵
- 알고리즘
- AI
- 프로그래머스
- 블렌더도넛
- 3d모델링
- 단계별로 풀어보기
- csharp
- 3d스터디
- blender4.0
- blender
- cs기초
- leetcode
- 도넛튜토리얼
- boj
- CS
- Photoshop
- 자바스크립트
- 3D그래픽
- 카드뉴스
- 코딩테스트
- 백준
- 블렌더튜토리얼
- 단계별문제풀이
- 비트연산
- Python
- Today
- Total
슬로우도파민
[iOS] 뷰의 상태 변화 메서드 본문
뷰의 상태변화 감지 메서드
뷰가 화면에 보여지는 상태의 변화나 뷰의 레이아웃에 변화가 생기면 뷰 컨트롤러는 여러가지 메서드를 호출해 서브클래스가 적절한 대응을 할 수 있게 합니다. 뷰의 상태 변화에 따라 호출되는 메서드와, 각 메서드가 호출되는 시점에 수행하면 좋은 작업을 알아봅시다.

뷰의 상태변화 메서드
func viewDidLoad()
- 뷰 계층이 메모리에 로드된 직후 호출되는 메서드
- 뷰의 추가적인 초기화 작업을 하기 좋은 시점
- 메모리에 처음 로딩될 때 1회 호출되는 메서드로, 메모리 경고로 뷰가 사라지지 않는 이상 다시 호출되지 않음.
func viewWillAppear(_animated: Bool)
- 뷰가 뷰 계층에 추가되고 화면이 표시되기 직전에 호출되는 메서드
- 뷰의 추가적인 초기화 작업을 하기 좋은 시점
- 다른 뷰로 이동했다가 되돌아오면 재호출되는 메서드로, 화면이 나타날 때마다 수행해야하는 작업을 하기 좋은 시점
func viewDidAppear(_animated: Bool)
- 뷰가 뷰 계층에 추가되어 화면이 표시되면 호출되는 메서드
- 뷰를 나타내는 것과 관련된 추가적인 작업을 하기 좋은 시점
func viewWillDisappear(_animated: Bool)
- 뷰가 뷰 계층에서 사라지기 직전에 호출되는 메서드
- 뷰가 생성된 뒤 발생한 변화를 이전상태로 되돌리기 좋은 시점
func viewDidDisappear(_animated: Bool)
- 뷰가 뷰 계층에서 사라진 후 호출되는 메서드
- 뷰를 숨기는 것과 관련된 추가적인 작업을 하기 좋은 시점
- 시간이 오래 걸리는 작업은 하지않는 것이 좋음.
뷰의 레이아웃 변화 메서드
뷰가 생성된 후 바운드 및 위치 등의 레이아웃에 변화가 발생했을 때 호출되는 메서드입니다.
func viewWillLayoutSubviews()
- 뷰가 서브뷰의 레이아웃을 변경하기 직전에 호출되는 메서드
- 서브뷰의 레이아웃을 변경하기 전에 수행할 작업을 하기 좋은 시점
func viewDidLayoutSubviews()
- 서브뷰의 레이아웃이 변경된 후 호출되는 메서드
- 서브뷰의 레이아웃을 변경한 후 추가적인 작업을 수행하기 좋은 시점
사용 방법
뷰 컨트롤러에서 아래와 같이 override 키워드를 명시하고 super를 호출한 뒤 사용!
override func viewDidLoad() {
super.viewDidLoad()
//view가 메모리에 적재된 시점에서 필요한 코드 작성
}
(출처 : 부스트코스 iOS 앱 프로그래밍)
'개발기록 > 개발스터디' 카테고리의 다른 글
| 안드로이드 스튜디오 TIPS (0) | 2021.07.12 |
|---|---|
| 안드로이드 스튜디오 개발환경설정 (0) | 2021.07.05 |
| La Piscine 2일차 - Git (0) | 2020.07.28 |
| La piscine 1일차 - 쉘프로그래밍 (0) | 2020.07.27 |
| 데이터 파일을 mysql DB에 저장하기 (pymysql, LOAD DATA INFILE) (2) | 2020.07.01 |
