Actually, a UITableView is a UIScrollView (inherits from that). Now, I made a UITableView subclass and added this line of code to it:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSLog(@"contentOffset: %@", NSStringFromCGPoint(self.contentOffset));
}
For some reason this is never called when I scroll the table view. But since UITableView has a delegate property on it’s own, I assume that it must implement UIScrollViewDelegate protocol and is the delegate for the scroll view itself. Isn’t it?
How could I intercept scroll position changes? I want to read them only. Probably I couldn’t set them with contentOffset, right?
As UITableView inherits from UIScrollView you can get and set its contentOffset property.
Note also that UITableViewDelegate protocol is defined the following way:
That is it conforms to UIScrollViewDelegate protocol as well so your tableView’s delegate(not UITableView itself) can implement any UIScrollViewDelegate methods and they should get called fine.