본문 바로가기
iOS

[iOS] Pull to Refresh, Swift로 화면 당겨서 새로고침

by 책 읽는 개발자_테드 2020. 12. 8.
반응형

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) {
        // 테이블뷰에 입력되는 데이터를 갱신한다.
    }

 

반응형

댓글