Is there any way to know if a tableview cell is currently visible? I have a tableview whose first cell(0) is a uisearchbar. If a search is not active, then hide cell 0 via a
Another solution (which can also be used to check if a row is fully visible) would be to check if the frame for the row is inside the visible rect of the tableview.
In the following code, ip represents the NSIndexPath:
CGRect cellFrame = [tableView rectForRowAtIndexPath:ip];
if (cellFrame.origin.ytableView.contentOffset.y+tableView.frame.size.height-tableView.contentInset.top-tableView.contentInset.bottom){ // the row is below visible rect
[tableView scrollToRowAtIndexPath:ip atScrollPosition:UITableViewScrollPositionBottom animated:NO];
}
Also using cellForRowAtIndexPath: should work, since it returns a nil object if the row is not visible:
if([tableView cellForRowAtIndexPath:ip]==nil){
// row is not visible
}