아이폰 사용자라면 앱을 이용하다보면 "내려서 새로고침"(pull down refresh, Release to refresh)이라는 문구를 많이 보았을것이다.
이를 태면
이런 화면이나
이런 화면이다 이는 쌓여있는 데이터를 새로 고침 하는 개념으로 웹브라우저 새로고침(F5) 같은 거라고 생각 하면된다.
하지만 예전엔 이 기능을 구현하려면 수십줄의 코드를 전부 짜야 됬었는데
Apple에서 고맙게 UIRefreshControl이라는 클래스를 선물해 주었다
헌데 ios6이상부터 지원 되는 기능이라서 ios5 이하까지 대응 하려면 구식의 방식으로 코딩 해야 되기때문에(둘다 쓸바에 구식 하나만 쓰는게 편하니...) 결국 있으나 마나 했던 기능
하지만 ios7이 나오면서 ios5이용자들이 거의 없다 싶이 해서 이기능을 쓸수 있게 되었다. (제가 만든 앱은 불행 하게도 기술적 한계 때문에 ios5지원을 할수 없게 되어 이 기능을 넣을수가 있었습니다.)
사용법도 정말!!! 간단한...
UIRefreshControl *_refreshControl; _refreshControl = [[UIRefreshControl alloc]init]; [_refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged]; [_tableView addSubview:_refreshControl]; - (void)refresh:(id)sender { double delayInSeconds = 1.0; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ [_refreshControl endRefreshing]; }); }선언후 타겟과 셀렉터 지정후 리프레쉬 메서드만 만들면 끝이다 여기서 딜레이 시간을 주어 자신이 원하는 시간때에 종료시킬수 있다.
'IT > iOS' 카테고리의 다른 글
[iOS] Google YouTube API 이용하기 (설치, 적용, 테스트) (1) | 2014.04.25 |
---|---|
오픈소스 관리 CocoaPods - 설치하기, 관리하기, update하기 (0) | 2014.04.21 |
ios7 UIKit Dynamics 적용 예제 (0) | 2014.04.18 |
crittercism 에 dsYM을 추가해보자 (0) | 2014.04.18 |
UIWebView 웹페이지의 넓이제한주기 (0) | 2014.04.18 |