由于UITableView
继承自UIScrollView
你可以使用这样的东西:
- (void)viewDidAppear:(BOOL)animated{
[table setContentOffset:CGPointMake(0.0, table.contentSize.height - table.bounds.size.height)
animated:NO];
[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:[musicGenre count]-1 inSection:0]
atScrollPosition:UITableViewScrollPositionBottom
animated:YES];
}
编辑:
如果您希望从顶部到底部的初始移动也具有动画效果,只需使用:
- (void)viewDidAppear:(BOOL)animated{
[table setContentOffset:CGPointMake(0.0, table.contentSize.height - table.bounds.size.height)
animated:YES];
[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:[musicGenre count]-1 inSection:0]
atScrollPosition:UITableViewScrollPositionBottom
animated:YES];
}
但请考虑用户体验——需要这么多的动画吗?因为用户(特别是如果他们经常使用你的应用程序)不喜欢浪费时间。动画在增强用户体验并且不会导致工作流程延迟时非常棒。
EDIT2:要滚动到顶部(从当前位置),您可以使用:
[table setContentOffset:CGPointZero
animated:YES];