2010-04-15 3 views
1

사실, UITableView는 UIScrollView입니다 (그걸 상속받습니다). 지금, 나는 jQuery과 서브 클래스를 만들어 여기에 코드 줄을 추가 :UITableView 하위 클래스에서 UIScrollView contentOffset 변경을 가로 채는 방법?

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    NSLog(@"contentOffset: %@", NSStringFromCGPoint(self.contentOffset)); 
} 

을 나는 테이블 뷰를 스크롤 할 때이 호출되지 않습니다 어떤 이유. 하지만 UITableView 자체에 대리자 속성이 있기 때문에 UIScrollViewDelegate 프로토콜을 구현해야하며 스크롤 뷰 자체의 대리자라고 가정합니다. 그렇지 않니?

어떻게 스크롤 위치 변경을 가로 챌 수 있습니까? 나는 그들만을 읽고 싶다. 아마 내가 contentOffset으로 그들을 설정할 수 없었 겠지, 그렇지?

답변

1

아마 contentOffset으로 설정할 수 없습니다. 맞습니까?

UITableView는 UIScrollView에서 상속되므로 contentOffset 속성을 가져오고 설정할 수 있습니다.

참고 또한 UITableViewDelegate 프로토콜은 다음과 같이 정의된다 :

@protocol UITableViewDelegate<NSObject, UIScrollViewDelegate> 

그것뿐만 아니라 UIScrollViewDelegate 프로토콜을 준수 당신의있는 tableView의 대표 (자체 jQuery과되지 않음) 어떤 UIScrollViewDelegate 방법을 구현하고 그들이해야 할 수 있도록 벌금형이라고.

1

그냥 setContentOffset :을 구현하고 원하는 값을 읽은 후에 super를 호출하십시오. UITableView는 UIScrollView이므로 setContentOffset :을 호출하여 스크롤 할 수 있습니다.

관련 문제