개발개발/Mac, iOS

UITableView header 에서 UIActivityIndicator 사용하기

iolate 2013. 3. 24. 16:28

추가 - Gist 란걸 알아서 거기에도 올려봤음~ 걍 소스만 저기 다시 올린거....

https://gist.github.com/iolate/5479930




네트워크 선택... 옆에 뱅글뱅글 돌고 있는 저 인디케이터.


초기 아이폰때 부터 있던 UI 로 구현이 쉬울줄 알았다..

혹은 주워쓰면 되는 예제라던가.


근데 전혀 그렇지가 않더라...ㅡㅡ

심지어 내가 사용한 방법은 iOS6 이후만 쓸 수 있음.



우선 iOS6 이후로 UITableViewHeaderFooterView 란게 생겼다.

마찬가지로 dataSource 에

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

라는 메서드도 호출됨. (하지면 [super ~~ ] 로 안되는걸로 봐선 구현해야지만 작동하는 듯 하다.)


설명으로 봐서는 nib 으로 커스텀 뷰를 만들고 등록 후 사용해야 하는 것 같지만

난 그럴 필요가 없기에 기본 클래스를 다시 등록하고 거기에 인디케이터만 붙였다.


대충 아래와 같이 사용.



activityIndicator 의 상태를 조절하기 위해서 따로 선언하고 사용하는게 좋다.

아쉬운 점은 초기화 되기 전에 호출되는 것인지 label 의 길이를 얻어올 수가 없다.


후에 다시 재조정해주는 방법 등으로 사용해야 할 듯.

또한 tintColor 등의 메서드에 내가 먼저 접근해버리면 이상해져 버림.