본문 바로가기
프로그래밍/Xcode-iOS

UIRefreshControl & UITableView refreshControl사용 예

by Mr-후 2019. 10. 23.
반응형

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];

    });

}



반응형