UITableView以编程方式滚动到元素

时间:2014-09-10 14:01:21

标签: ios objective-c uitableview

我有20个元素的数组,而表格视图只能显示其中的5个。在视图开始时,我选择了1个项目,并且我想通过选择它来在表格视图中显示该项目。当我选择前5个中的一个时,选择是可见的。当我选择5+元素时,我希望通过移动内容偏移也可以看到该元素。如何从tableview数组中的列表中将TableView滚动到特定元素?在表视图委托的哪个功能中我这样做?

我尝试在scrollToRowAtIndexPath方法中设置内容偏移和cellForRowAtIndexPath,但它无法正常工作。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

调用scrollToRowAtIndexPath:在cellForRow上将无法正常工作。首先你需要重新加载tableview的数据,然后你需要在选择一个项目后调用如下..

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:selectedRow inSection:0];

[self.tableView reloadData];

[self.tableView scrollToRowAtIndexPath:indexPath 
    atScrollPosition:UITableViewScrollPositionTop animated:YES];

希望它可以帮助你..

答案 1 :(得分:0)

scrollToRowAtIndexPath放在ViewDidLoad的{​​{1}}或ViewWillAppear内。