【发布时间】:2010-10-04 14:53:46
【问题描述】:
我有一个带有大约 100 行的 UITableView 的 iPad 应用程序。单元格是自定义的,我已经实现了 heightForRowAtIndexPath 来告诉 UITableView 我的单元格有多大。
我正在使用这个:
[tableView scrollToRowAtIndexPath:indexPath
atScrollPosition:UITableViewScrollPositionMiddle animated:NO];
将表格滚动到给定的行。这非常适用于第 1-75 行。第 76 行稍微偏离了中间,76-79 稍微偏离了一些,从第 80 行开始,它根本不再滚动到正确的位置。它只是保持不变,第 79 行是最后一个可见行。发生这种情况时,我仍然可以通过拖动手指来手动滚动表格;显然还没有结束。然而,似乎以编程方式,scrollToRowAtIndexPath 认为它在实际到达之前已经到达了表的末尾。我希望这种行为出现在表的末尾,而不是行的 3/4。
我正在努力调试这里发生的事情;我将不胜感激任何可以帮助我找出为什么在我调用 scrollToRowAtIndexPath 时表认为它已经在末尾的指针。
【问题讨论】:
-
更新:问题似乎是 tableview 所属的视图本身的大小不正确。它设置为自动调整大小,但它继续使用它在 nib 文件中的大小(此视图是最顶层的视图)。因为这比它添加到的视图大,所以表的末端位于视图边界之外。知道了这一点,可能会更容易找到解决方案,但我一直找不到。
标签: iphone objective-c cocoa-touch ipad uitableview