2012-12-21 4 views
4

selected rowrefresh control으로 설정하고 싶습니다. 나는 내 UITableView 상단에 refresh control이 있고, 데이터를로드 할 때 (그리고 실제로 그걸 끌어 내리지 않았기 때문에) activity indicator view이 보이기를 바란다. refresh control).UITableView 선택한 행을 새로 고침 제어로 설정

지금 내가하는 일은 refresh control에 "상쾌한 상태"(회전 작동 표시기가 있음)로 설정되어 있습니다.

[self.refreshControl beginRefreshing]; 

이 잘 작동하지만, 유일한 문제는, 그것이 행 1 (인덱스 0)의 디폴트 값이기 때문에이 끌어하지 않는 한 그들은 그것을 볼 수 없습니다, 그래서이 숨겨져 있습니다.

참고 :UITableView에는 0 개의 항목이 있으며 항상 발생합니다.

[self.tableView selectRowAtIndexPath:0 animated:YES scrollPosition:UITableViewScrollPositionTop]; 

그것은 첫 번째 행에 선택한 항목의 위치를 ​​설정합니다,하지만 난 그것을 새로 고침 제어를 보여 만들고 싶어, 그래서 나는 가능하고 추측 : 예를 들어

, 내가 가면

[self.tableView selectRowAtIndexPath:-1 animated:YES scrollPosition:UITableViewScrollPositionTop]; 

(첫 번째 항목 아래에 1 개의 색인으로 표시됨) 물론 컴파일러가 아닙니다.

답변

2

UITableView는 UIScrollView의 하위 클래스이므로 tableView의 contentOffset을 설정하여 첫 번째 행 위에 새로 고침 컨트롤러를 표시 할 수 있습니다. 예를 들어, 새로 고침 컨트롤의 높이가 100 인 경우 새로 고침 컨트롤을 애니메이션보기로 볼 수 있습니다.

[self.tableView setContentOffset:CGPointMake(0, -100) animated:YES]; 

또는 단순히 어떤 애니메이션없이 표시하거나 자신 만의 애니메이션을 구현하기 : 당신의 상쾌한이 완료되고 당신이 컨트롤을 숨기려면 일단

self.tableView.contentOffest = CGPointMake(0, -100); 

당신은 다음 0으로 다시 설정할 수 있습니다.

Documentation link here

관련 문제