본문 바로가기

iOS

[iOS] UIRefreshControl

UIRefreshControl

A standard control that can initiate the refreshing of a scroll view’s contents.

뷰를 아래로 당기며 새로고침하는 기능을 추가하고 싶을 때 사용

class UIRefreshControl : UIControl

UIButton, UISwitch 처럼 UIControl 을 상속받는다. (타겟-액션 디자인 패턴 활용)

 

When the user drags the top of the scrollable content area downward, the scroll view reveals the refresh control, begins animating its progress indicator, and notifies your app.

You use that notification to update your content and dismiss the refresh control.

 

 

func initRefresh() {
    let refresh: UIRefreshControl = UIRefreshControl()
    refresh.addTarget(self, action: #selector(refreshing(refresh:)), for: .valueChanged)
    self.tableView.refreshControl = refresh
}

@objc func refreshing(refresh: UIRefreshControl) {
    refresh.endRefreshing() // refresh 작업이 끝났음을 알린다.
    self.tableView.reloadData()
}

refresh.endRefreshing() 코드를 추가해주지 않으면 새로고침이 끝났는데도 오른쪽 사진의 indicator가 사라지지 않고 계속 돌아가니까 꼭 추가해주기 ! 

 

 

 

 

 

 

 

 

 

 

Swift 4 UIRefreshControl

리스트 형식의 TableView 를 사용할 때에 새로고침 버튼을 두는것보다 아래로 당기면서 새로고침을 진행하는게 좋습니다. 네이버나 페이스북 유튜브의 경우에도 제일 상단 목록을 아래로 당기면 �

gigas-blog.tistory.com

 

 

UIRefreshControl - UIKit | Apple Developer Documentation

A UIRefreshControl object is a standard control that you attach to any UIScrollView object, including table views and collection views. Add this control to scrollable views to give your users a standard way to refresh their contents. When the user drags th

developer.apple.com

 

'iOS' 카테고리의 다른 글

[iOS] Gesture Recognizer  (0) 2020.06.13
[iOS] 세그 (Segue)  (0) 2020.06.12
[iOS] 뷰 회전 관련 작업 : viewWillTransition  (0) 2020.06.12
[iOS] View의 Life-Cycle (생명주기)  (0) 2020.06.12
[iOS] UIVisualEffectView  (0) 2020.06.12