iphone - scrollRectToVisible问题

时间:2011-08-21 15:00:33

标签: iphone uitableview scroll

这个功能很完美,但我想让它成为一次性功能,而不是固定功能。当我用其他数据更改tableview时,数据显示在上一个tableview的索引处。所以我的解决方案是实现下面的代码。当我实现它时,它可以工作,但是当我向下滚动时,它会一直向上滚动,所以几乎不可能进一步向下滚动。当我改变tableview时,知道如何让它只执行一次吗?

代码:

[tableView scrollRectToVisible:CGRectMake(0,0,1,1) animated:NO];    

编辑21 8月:

伙计们,非常感谢你们!代码在cellforrowatindexpath中。我将它移动到改变tableview的函数内部,它就像一个魅力:D

2 个答案:

答案 0 :(得分:1)

它是一次性功能。很可能,你的这个代码再次执行&再次。如果您将此保留在cellForRowAtIndexPath:这样经常调用的函数中,则可能是导致此问题的原因。你把它放在哪里了?

HTH,

阿克沙伊

答案 1 :(得分:1)

如果您正在使用新数据重新加载表视图并将代码放在那里,则可以覆盖reloadData方法。在你的表视图控制器中这样的东西就足够了:

- (void)reloadData {
    [super reloadData];

    [tableView scrollRectToVisible:CGRectMake(0,0,1,1) animated:NO];
}

如果每次向下滚动时它都向上滚动,我假设您将代码放在cellForRowAtIndexPath方法中,每次要呈现单元格时都会调用该方法。这不是放置该代码的正确位置。