woong's
IOS Xcode Pull To Refresh 사용하기 본문
IOS Xcode Pull To Refresh 사용하기
Xcode TableView 를 사용하면서 Pull To Refresh 기능을 사용해 보았습니다.
android 에서는 기능을 구현해야 하지만 .. IOS 는 기본기능이 구현되어 있다는
정보를 들을적이 있어 찾아보니 기본적으로 사용할수 있는 Pull To Refresh 가
있었습니다. 이 Pull To Refresh 사용법 , 간단한 Custom 방법을 정리해 보려 합니다.
포스트는 기본 테이블뷰가 구성되어 있다는 전체하에 시작되겠습니다.
테이블뷰를 구성한 .h 파일에 UIRefreshControll을 작성합니다.
1 2 3 | UIRefreshControl *refreshControl; | cs |
1 2 3 4 5 6 7 8 9 10 11 12 | refreshControl = [[UIRefreshControl alloc] init]; [refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged]; [_tableViewList addSubview:refreshControl]; /** * refresh가 완료 되면 호출되는 메서드 */ - (void)refresh:(UIRefreshControl *)refreshControl { [refreshControl endRefreshing]; } | cs |
위 세줄 코드를 테이블뷰 초기화 하는 위치에서 초기화 및 연결 작업을 진행합니다.
연결작업 진행간에 selector를 통해서 refresh가 완료되면 호출되는 메서드를 작성합니다.
위와 같이 작성이 되면 refresh가 바로 완료 되어서 멈춰서 돌고있는 모습을 볼수 없습니다.
차후에 api 가 연결되면 자연스럽게 모습을 볼수 있으나 현재는 볼수 없기 때문에 timer를
이용해서 코드를 작성해 보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ** * refresh가 완료 되면 호출되는 메서드 */ - (void)refresh:(UIRefreshControl *)refreshControl { [self performSelector:@selector(playerStop) withObject:nil afterDelay :3.0f]; } /** * 타이머 종료시 호출되는 메서드 */ - (void) playerStop{ [refreshControl endRefreshing]; } | cs |
위와 같이 refresh 함수 안에 3초후에 playerStop을 호출해서
Pull To Refresh 를 종료 하면 원하던 Pull To Refresh 를 볼수 있습니다.
여기까지는 기본 Pull To Refresh 사용법이였습니다.
하지만 디자인에 따라 색상 변경 , 글자 등 커스텀이 이루어질수 있습니다.
간단한 커스텀은 지원을 해주고있습니다.
-Pull To Refresh 배경 색 변경
-Pull To Refresh 인티케이터 색 변경
-Pull To Refresh 글자 입력 및 색 변경
을 해보도록 하겠습니다.
1 2 | refreshControl.backgroundColor = [UIColor blackColor]; | cs |
1 2 | refreshControl.tintColor = [UIColor whiteColor]; | cs |
위 속성을 통해서 인디케이터의 색상을 변경하였습니다.
다음으로는 문구 및 색상 변경을 해보도록 하겠습니다.
1 2 3 4 5 6 | NSDictionary *attrsDictionary = [NSDictionary dictionaryWithObject:[UIColor blackColor] forKey:NSForegroundColorAttributeName]; NSAttributedString *attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull To Refresh" attributes:attrsDictionary]; refreshControl.attributedTitle = attributedTitle; | cs |
'Develop > IOS' 카테고리의 다른 글
IOS Xcode WebView Cookie 사용하기 (4) | 2016.02.29 |
---|---|
IOS Xcode Swift 프로젝트에서 ObjectC 사용하기 (1) | 2016.02.19 |
IOS Xcode CollectionView 사용하기 (3) | 2016.02.17 |
IOS Xcode 화면 사이즈 정리하기 (0) | 2016.02.16 |
IOS Xcode CocoaPods Private 배포하기 (0) | 2016.02.15 |