반응형
Pull to Refresh, Swift로 화면 당겨서 새로고침
iOS에는 아래 그럼처럼 화면을 잡아당겨 화면 목록(UITableView)을 새로 고침하는 기능이 존재합니다. 어떻게 사용하는 지 알아보겠습니다.
1. 테이블뷰의 UIRefreshControl 객체를 초기화합니다.
아래 그림처럼 UITableView 클래스가 상속하는 UIScrollView 클래스에는 UIRefreshControl 변수가 존재합니다.
이것을 다음과 같이 초기화합니다.
tableView.refreshControl = UIRefreshControl()
2. addTarget 함수로 refresh가 발생했는 때 호출할 함수를 설정합니다.
아래 그림처럼 UIRefreshControl 클래스가 상속하는 UIControl 클래스에는 addTarget 함수가 존재합니다.
이것을 다음과 같이 refresh가 발생했을 때 호출할 함수를 설정합니다. 함수 이름은 pullToRefresh로 합니다.
tableView.refreshControl?.addTarget(self, action: #selector(pullToRefresh(_:)), for: .valueChanged)
3. 위에서 호출되는 함수를 작성합니다.
2번에서 refresh가 일어나면 자동으로 UITableVIew의 tableView(_:cellForRowAt:) 함수가 호출되어 테이블의 갱신이 일어납니다. 이때 갱신될 테이블에 사용될 데이터를 변경하는 코드를 pullToRefresh 함수 내부에 작성하시면됩니다.
@objc func pullToRefresh(_ sender: Any) {
// 테이블뷰에 입력되는 데이터를 갱신한다.
}
반응형
'iOS' 카테고리의 다른 글
[iOS] Unwind Segue의 Animation 제거하기 (0) | 2021.01.02 |
---|---|
[iOS] Build input file cannot be found 오류 해결 (2) | 2020.12.24 |
[iOS] Xcode에서 앱 배포를 위한 아카이브(Archive) 만들기 (1) | 2020.12.07 |
[iOS] Tmap SDK 2.x 버전 시작하기 (0) | 2020.12.04 |
[iOS] Swift로 UITextView 상단의 기본 공백(margin) 없애기 (0) | 2020.10.24 |
댓글