我想在显示键盘时向上滚动UITableView
,这样键盘就不会覆盖文本字段。我知道如何滚动tableView和contentInset
等。我在计算滚动距离时遇到了麻烦。
我有键盘尺寸(来自UIKeyboardDidShowNotification
)。但是,我无法为正在编辑的文本字段获取有用的原始值。传递给UITextField
的{{1}}的来源没有帮助:无论正在编辑的textField如何,值都是相同的。 textFieldDidBeginEditing
也无济于事。
如何为正在编辑的textField的原点获取有用的值?
我将使用此值和键盘高度来确定要滚动的距离。
答案 0 :(得分:2)
我个人认为最好的方法是更改表格视图的框架,使其不被键盘隐藏(您可以查看键盘框架并根据该框架更改表格视图框架)。然后使用scrollToRowAtIndexPath:atScrollPosition:animated:
滚动表格视图,以便单元格可见。
那样UITableView
处理实际内容偏移应该是什么。
答案 1 :(得分:1)
如果您的行高和标题高度都相同,您只需获取行值并将其乘以行高即可获得正确的原点。如果您使用的是变量行高/节标题,那么这种方法会变得有点复杂。
MattJGalloway在我输入时发布的第二种方法是更改tableview的框架,然后让tableView自行滚动。这也是我的首选方法。