gpt4 book ai didi

iOS:scrollToRowAtIndexPath 不显示最后一页的正确顶部索引路径

转载 作者:行者123 更新时间:2023-11-29 03:45:51 27 4
gpt4 key购买 nike

我正在尝试以编程方式滚动表格 View ,如下编码。请注意,我增加了内容大小,因此我可以看到最后几行。我可以正确手动滚动以在顶部获取所需的索引路径,但以编程方式它不会发生。

[tableview reloadData];

CGSize size = tableview.contentSize;
size.height += 1000;
tableview.contentSize = size;

int rows = [tableview numberOfRowsInSection:0];
int numberofRowsInView = 17;
for (int i = 0; i < ceil((float)rows/numberofRowsInView); i++) {
[tableview scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:i * numberofRowsInView inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO];
....
}

对于总共 60 行,我希望此代码返回 0-16、17-33、34-50、51-59 的单元格 View ,但对于最后一个滚动,它返回 43-59,即完整的 17 行 View ,同时基于上面的代码,最后一页的顶部索引路径应该是 51!

有人可以帮我解决这个问题吗?谢谢。

这是手动滚动图像:

Manually scrolling

这是通过编程完成的:

Programmatically scrolling

最佳答案

如果屏幕上可以容纳 17 行,则您无法滚动以使显示的项目少于 17 个。因此, TableView 将采用您请求位于顶部的行并滚动到最近的行,这意味着 View “已满”行。基本上是因为 60 不能(完全)被 17 整除,所以表格 View 不会让你只显示半个“页面”。


或者,您可以尝试使用 ScrollView 方法setContentOffset:animated:基于您想要位于顶部的单元格的框架 ( rectForRowAtIndexPath: )。

关于iOS:scrollToRowAtIndexPath 不显示最后一页的正确顶部索引路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17774055/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com