iOS/UIKit

[iOS] TableView, CollectionView refresh 하기 (새로고침)

유훈 | Yuhun 2022. 3. 26. 15:16
반응형

보통 앱을 사용하다 보면 위로 슬라이드해서 새로고침 하는 부분이 많습니다.(ex. 유튜브, 당근마켓)

그래서 CollectionView에서 새로고침 하는 방법에 대해 알아보겠습니다.

(TebleView도 동일합니다.)

 

기본적으로 CollectionView에는 기본적으로 refreshControl이라는 프로퍼티가 있어서 여기에 refreshController를 만들고 넣어주면 됩니다.

 

1. refreshController 만들기

// 코드로 refreshControl 선언해서 만들기
private lazy var refresh: UIRefreshControl = {
        let refreshControl = UIRefreshControl()
        
        refreshControl.addTarget(self, action: #selector("새로고침시 실행할 함수!") , for: .valueChanged)
        
        return refreshControl
    }()
    
@objc func "새로고침시 실행할 함수"() {
        
        // 데이터 불러오기, 랜덤으로 CollectionView 내용 바뀌기 등..
        
        refreshControl.endRefreshing() // 새로고침 이벤트 종료
    }

 

2. CollectionView의 refreshControl에 넣어주기

"UICollectionView 이름".refreshControl = refresh

 

이렇게 생각보다 간단하게 refreshControl을 할 수 있게됩니다.

반응형