UIRefreshControl & UITableView refreshControl사용 예
UIRefreshControl & UITableView refreshControl사용 예
예전 아주 예전에는 테이블뷰의 contentInset을 이용해서 뷰를 add해서 사용했는데 iOS 10부터 UIRefreshControl이 추가되어 손쉽게 새로고침 기능을 구현할 수 있게 되었다. 서비스 앱의 데이터 조회 리스트 컨트롤러에 적용했는데 금방 적용이 되었다.
사용방법은 간단하다.
@property (strong, nonatomic) UIRefreshControl *refreshControl;
프로퍼티로 선언한다음,
viewDidLoad 또는 awakeFreomNib 같은 곳에서 다음과 같이 처리한다.
self.refreshControl = [[UIRefreshControl alloc] init];
[_refreshControl addTarget:self action:@selector(handleRefreshControl:) forControlEvents:UIControlEventValueChanged];
_tableView.refreshControl = _refreshControl;
그 다음, handleRefreshControl를 구현해주면 끝.
- (void)handleRefreshControl:(UIRefreshControl *)control {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, .5f * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void){
[self requestAgencyList];
[self.refreshControl endRefreshing];
});
}