gpt4 book ai didi

iOS UITableView scrollToRowAtIndexPath 行为不正确

转载 作者:行者123 更新时间:2023-12-01 19:24:33 30 4
gpt4 key购买 nike

我对 UITableView 有疑问,尤其是 scrollToRowAtIndexPath .这里我们分别设置了section-header-height和row-height。稍后,当显示键盘时,我调整了表格 View 的大小并使用 scrollToRowAtIndexPath 滚动到当前涉及的单元格.问题是,在尝试了 3 种不同类型的定位后,只有 UITableViewScrollPositionTop UITableViewScrollPositionMiddle 时定位正确和 UITableViewScrollPositionBottom错位了。以下是截图:
UITableViewScrollPositionTop UITableViewScrollPositionMiddle/Bottom
如图所示,顶部定位将行置于顶部,而中间和底部定位置于中间行上方约 1 行(对于它们两者)。这只发生在这个 View 中(它在其他 View 上工作正常)。
tableview 具有固定的边距和灵活的宽度/高度(由 IB 中的所有标记都表示为鲜红色)。
我尝试检查 tableview 的原点,它表示 0,0。当我将 origin.y 移动几个像素时,tableview 确实会向下移动该数量,因此这不是由 tableview 原点引起的。
在调整大小之前,我使用此代码获取 indexPath(请注意,这在其他 View 上工作正常):

NSIndexPath *indexPath = [tblView indexPathForRowAtPoint:self.frame.origin];
//resize the tableview
[tblView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
关于为什么会发生这种位置转移的任何想法?
提前致谢。

最佳答案

好的。现在我知道了这个问题的原因,我想我必须在这里分享它,因为我首先在这里问。

是因为之前的开发者在xib文件中将UITableView的Content Insets Bottom of Scroll View Size设置为100(我认为默认值应该是0)。这张图片显示了我在哪里找到了这个属性:
enter image description here

关于iOS UITableView scrollToRowAtIndexPath 行为不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8490322/

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