gpt4 book ai didi

cocoa-touch - -[UITableView scrollToRowAtIndexPath :] scrolls, 但返回到第一行

转载 作者:行者123 更新时间:2023-12-03 00:27:48 24 4
gpt4 key购买 nike

我有一个分组 TableView , TableView 中有文本字段。为了使键盘不隐藏文本字段,在textFieldShouldBeginEditing中,我调用scrollToRowAtIndexPath方法并将正在编辑的行的滚动位置设置到表格 View 的顶部。

滚动确实发生了,但是一旦键盘出现(即,一旦textFieldShouldBeginEditing 返回YES),表格就会滚动回其原始位置,并在顶部显示第一部分的第一行。在调用scrollToRowAtIndexPath 后我没有调用reloadTable。

此问题仅发生在第 4 行和第 5 行(bdate 和 zip)password2 按预期工作。

这是我用来滚动到特定行的代码

if(textField == password2){
indPath = [NSIndexPath indexPathForRow:3 inSection:0];
[self.tableView scrollToRowAtIndexPath:indPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
return YES;
}
else if(textField == bdate){
indPath = [NSIndexPath indexPathForRow:4 inSection:0];
[self.tableView scrollToRowAtIndexPath:indPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
return YES;
}
else if(textField == zip){
indPath = [NSIndexPath indexPathForRow:5 inSection:0];
[self.tableView scrollToRowAtIndexPath:indPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
return YES;
}

有人可以告诉我可能出了什么问题吗?任何见解都会有帮助。

谢谢

最佳答案

我怀疑发生的事情是 TableView 被橡皮筋绑住了,就像 Safari 中的 webview 当你跑过它的边界时所做的那样。最可能的原因是,当您弹出键盘时,它位于表格 View 的顶部,但表格 View 尚未物理收缩,因此所有 UITableViewCell 都适合部分遮挡的 UITableView,并且当其中一些滚动时它是橡皮筋,所以它们都在里面。

为了测试这一点,请尝试减小 ListView 的大小,以便在显示键盘时可以看到整个内容,如果错误消失,您需要编写随着键盘动画而动态更改大小的代码并出去。

关于cocoa-touch - -[UITableView scrollToRowAtIndexPath :] scrolls, 但返回到第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/478931/

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