我有Navigation View
(顶部有导航栏),里面有scrollView
,scrollView
有几个文字字段。我设置了代码,以便在显示键盘时,如果隐藏文本字段,内容会向上移动。上一个视图中的segue是模态的,因此它会作为窗口弹出窗口(在iPad上)滑动。
一切正常,但当键盘解除时,scrollView
返回的位置高于最初开始的位置(顶部字段隐藏在顶部导航栏后面)。
我发现问题在此代码中:
func keyboardWillBeHidden() {
println("Keyboard will be hidden")
let contentInsets = UIEdgeInsetsZero
scrollView.contentInset = contentInsets
scrollView.scrollIndicatorInsets = contentInsets
}
问题的一行是scrollView.contentInset = contentInsets
。我觉得我需要将44
(导航栏的高度)添加到scrollView
的顶部位置,以便它返回到正确的位置,但我不知道如何执行此操作。
我也注意到,一旦发生这种情况,scrollView
就不能再滚动(似乎卡住了)。
答案 0 :(得分:1)
在任何编辑开始之前,您可以存储当前的scrollview.contentInset。
稍后编辑结束时,您可以将其设置为相同位置。不要使用硬编码44.