기존에 새로고침 버튼의 불편함 해소
기존에는 새로고침 버튼을 눌렀었는데 이게 높이 있어서 누르기가 정말 귀찮았습니다.
그래서 간편하게 테이블뷰를 아래로 드래그 해서 새로고침을 할 수 있는 기능을 간단하게 구현했습니다.
UITableView에 UIRefreshControl 추가하기
테이블뷰를 아래로 당겼을 때 새로고침하는 기능을 추가하려면, UIRefreshControl을 사용할 수 있습니다.
먼저, viewDidLoad()에서 UIRefreshControl을 만들고, newsTableView에 추가해줍니다.
그리고, refreshControl의 addTarget을 통해 사용자가 새로고침을 요청할 때 호출할 메서드를 지정해줍니다.
이후 아래로 당겨서 새로고침을 요청하면, addTarget으로 지정한 메서드가 호출되면서 뉴스 데이터를 새로고침하게 됩니다.
아래는 코드 예시입니다.
override func viewDidLoad() {
super.viewDidLoad()
// UIRefreshControl 생성
let refreshControl = UIRefreshControl()
refreshControl.addTarget(self, action: #selector(refreshNews), for: .valueChanged)
newsTableView.refreshControl = refreshControl
}
// 아래로 당겨서 새로고침
@objc private func refreshNews() {
fetchNews()
newsTableView.refreshControl?.endRefreshing()
}