我想完全重置UITableView的滚动位置,这样每次打开它时,它都会显示最顶层的项目.换句话说,我想在每次打开时将表视图滚动到顶部.
我尝试使用以下代码,但看起来我误解了文档:
- (void)viewWillAppear:(BOOL)animated { [tableView scrollToNearestSelectedRowAtScrollPosition:UITableViewScrollPositionTop animated:NO]; }
这是错误的做法吗?
August获得了特定于UITableView的方法.另一种方法是:
[tableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO];
此方法在UIScrollView中定义,UIScrollView是UITableView的父类.上面的例子告诉它滚动到0x的1x1框 - 左上角,换句话说.
您正在使用的方法滚动到(如方法名称所示)最近的选定行.在许多情况下,这不会是最重要的一行.相反,你想要使用其中之一
scrollToRowAtIndexPath:atScrollPosition:animated:
要么
selectRowAtIndexPath:animated:scrollPosition:
在哪里使用要滚动到的行的索引路径.第二种方法实际上选择了一行,第一种方法只是滚动到它.