我正在开发一个Iphone应用程序,它包含一个带有8个单元格的UITableview。我实现了一个NSMutableArray,用于在单元格创建时存储每个单元格,但tableview加载时间只提供显示的单元格存储到数组。这个问题我已经自动滚动表视图,并使用以下代码获取存储到数组的总单元格;
-(void)viewDidAppear:(BOOL)animated{
[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:[musicGenre count]-1 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:YES];
}
这是完美的。但是现在我想要同时从下到上滚动(加载时间)。如何实现这个? 在此先感谢。
答案 0 :(得分:9)
由于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];