【发布时间】:2016-06-08 20:26:09
【问题描述】:
我有一个UIScrollView,其中包含一个UIView 容器,其中包含多个UITextFields。
我想要执行以下操作:如果我选择了一个字段并且它位于键盘下方,则将文本字段提升到键盘上方 20 点。如果它在键盘上方,则不要执行任何操作。
真正的问题是,当键盘处于活动状态时,最后一个字段根本不可见,因为我到达了 UIView 的末尾(在我的情况下它是 836 点高)。
我认为我可以将整个视图提升到键盘的高度,但这并不意味着当前字段将正好在键盘上方 20 点。
有什么想法吗?
编辑:这不是一个重复的问题。我已经有一个UIScrollView,如果在完成编辑前一个字段后按键盘上的“下一步”时,如果该字段位于键盘下方,我希望活动文本字段在键盘上方正好 20 点。
【问题讨论】:
-
更改滚动视图的
contentInset以便整个滚动视图可以在键盘上方的区域内滚动。 -
另外,您可以使用
setContentOffset(_:, animated:)来实现键盘上方的20 点边距。使用键盘通知UIKeyboardWillShowNotification和UIKeyboardWillHideNotification) 来获取键盘出现时的大小。 -
@paulvs 我以前没有使用过这些,所以一些代码会很有帮助。
标签: ios swift uiscrollview keyboard