键盘隐藏后 scrollView 没有返回到正确的位置
scrollView not returning to correct position after keyboard hides
我有一个 Navigation View
(导航栏在顶部),其中有一个 scrollView
,scrollView
中有几个文本字段。我设置了代码,以便在显示键盘时,如果内容会隐藏文本字段,则内容会向上移动。上一个视图的 segue 是模态的,因此它作为 window 弹出窗口向上滑动(在 iPad 上)。
一切正常,但是当键盘被关闭时,scrollView
returns 到比它最初开始的位置更高的位置(顶部字段隐藏在顶部导航栏后面) .
我发现问题出在这段代码中:
func keyboardWillBeHidden() {
println("Keyboard will be hidden")
let contentInsets = UIEdgeInsetsZero
scrollView.contentInset = contentInsets
scrollView.scrollIndicatorInsets = contentInsets
}
有问题的行是scrollView.contentInset = contentInsets
。我觉得我需要将 44
(导航栏的高度)添加到 scrollView
的顶部位置,以便它 returns 到正确的位置,但我不知道如何这样做。
我也注意到,一旦发生这种情况,scrollView
就不能再滚动了(好像卡住了)。
在开始任何编辑之前,您可以存储当前的 scrollview.contentInset。
稍后编辑结束时,您可以将其设置为将其放置在其所属的位置。不要使用硬编码 44。
我有一个 Navigation View
(导航栏在顶部),其中有一个 scrollView
,scrollView
中有几个文本字段。我设置了代码,以便在显示键盘时,如果内容会隐藏文本字段,则内容会向上移动。上一个视图的 segue 是模态的,因此它作为 window 弹出窗口向上滑动(在 iPad 上)。
一切正常,但是当键盘被关闭时,scrollView
returns 到比它最初开始的位置更高的位置(顶部字段隐藏在顶部导航栏后面) .
我发现问题出在这段代码中:
func keyboardWillBeHidden() {
println("Keyboard will be hidden")
let contentInsets = UIEdgeInsetsZero
scrollView.contentInset = contentInsets
scrollView.scrollIndicatorInsets = contentInsets
}
有问题的行是scrollView.contentInset = contentInsets
。我觉得我需要将 44
(导航栏的高度)添加到 scrollView
的顶部位置,以便它 returns 到正确的位置,但我不知道如何这样做。
我也注意到,一旦发生这种情况,scrollView
就不能再滚动了(好像卡住了)。
在开始任何编辑之前,您可以存储当前的 scrollview.contentInset。
稍后编辑结束时,您可以将其设置为将其放置在其所属的位置。不要使用硬编码 44。