How to scroll to the bottom of a UITableView on the iPhone before the view appears

Posted by acqu13sce on Stack Overflow See other posts from Stack Overflow or by acqu13sce
Published on 2010-05-05T01:58:49Z Indexed on 2010/05/05 2:08 UTC
Read the original article Hit count: 990

Filed under:
|
|

I have a UITableView that is populated with cells of a variable height. I would like the table to scroll to the bottom when the view is pushed into view.

I currently have the following function

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:[log count]-1 inSection:0];
[self.table scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:NO];

log is a mutable array containing the objects that make up the content of each cell.

The above code works fine in viewDidAppear however this has the unfortunate side effect of displaying the top of the table when the view first appears and then jumping to the bottom. I would prefer it if the table view could be scrolled to the bottom before it appears.

I tried the scroll in viewWillAppear and viewDidLoad but in both cases the data has not been loaded into the table yet and both throw an exception.

Any guidance would be much appreciated, even if it's just a case of telling me what I have is all that is possible.

© Stack Overflow or respective owner

Related posts about iphone

Related posts about uitableview