键盘出现时如何滚动 UITableviewcell 向上滚动? [复制]

Posted

技术标签:

【中文标题】键盘出现时如何滚动 UITableviewcell 向上滚动? [复制]【英文标题】:How to scroll the UITableviewcell scroll up when the keyboard appears? [duplicate] 【发布时间】:2012-01-10 10:39:27 【问题描述】:

可能重复:Table View scroll when text field begin editing iphone

我在 UITableview 中加载了许多 UITextField。最多我在 UITableView 单元格中有 15 个 UITextFields。当键盘/UIActionSheet(UIPickerView) 出现时,我想向上移动(滚动)单元格。请建议/指导我任何示例代码来解决这个问题。提前致谢。

【问题讨论】:

感谢所有朋友回答我的问题并解惑。非常感谢。 【参考方案1】:

您可以使用示例代码来获得一些提示。

https://github.com/michaeltyson/TPKeyboardAvoiding

我也在我的项目中使用过它。希望它有所帮助

【讨论】:

很容易在这个项目中使用 TableView 子类来让我的表格在键盘打开时正确滚动。 谢谢!那东西应该被添加到 pod 中!【参考方案2】:

请在-textFieldShouldBeginEditing 中尝试以下代码 ....

self.tblView.frame= CGRectMake(self.tblView.frame.origin.x, self.tblView.frame.origin.y, self.tblView.frame.size.width, self.tblView.frame.size.height - 190);
NSIndexPath *indexPath =[NSIndexPath indexPathForRow:nIndex inSection:nSectionIndex];
[self.tblView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];

谢谢

【讨论】:

谢谢 Mitesh Khatri 先生。它工作得很好。非常感谢。 什么是nIndex和nSectionIndex? nIndex 是行号或整数值。 这不是一个好的答案,因为假设您要编辑的行在最后一行。 scrollToRowAtIndexPath 不能以这种方式工作 @justicepenny,你对最后一行的建议是什么?请帮忙。【参考方案3】:

从苹果文档中查看下面的链接,其中包含完整的解释和所需的代码

他们已经讨论了注册键盘出现和消失通知,并在通知方法中更改您的底层UIView 的矩形以获取更多信息,请访问以下网址。

Moving Content That Is Located Under the Keyboard

【讨论】:

以上是关于键盘出现时如何滚动 UITableviewcell 向上滚动? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

tableview 中的两个 TextFields,都在滚动视图上,当键盘出现 iPhone 时消失

如何使键盘直接出现在 UITableViewCell 的文本字段中

包含UITextfield的UITableviewcell在滚动UITableviewcontroller时隐藏

仅当键盘快速出现时如何使scrollView滚动

当键盘出现时,如何阻止 tableView 滚动? [复制]

如何在键盘上方滚动自定义 UITextField 单元格