我正在实现此方法来重新定位UIScrollView以显示被键盘弹出窗口遮挡的UITextField:
Move a view up only when the keyboard covers an input field
滚动视图未按预期从键盘高度从底部移动。变量' keyboardSize!.height'正在接收正确的高度值,如果我输入随机值到底部'参数我得到相同的结果。但是,如果我将值添加到' top'并且'离开'参数在调用keyboardWasShown函数时会移动scrollview。
let contentInsets : UIEdgeInsets = UIEdgeInsets(top : 0.0, left : 0.0, bottom : keyboardSize!.height, right : 0.0)
self.scrollView.contentInset = contentInsets
self.scrollView.scrollIndicatorInsets = contentInsets
我使用TableViewController工作正常但没有使用UIScrollView。在这种情况下,UIViewController上面有一个UIView和一个UIScrollView。任何帮助赞赏。
*编辑*
这个问题是国际文凭组织中存在模糊限制的结果。重置它们并使用建议的约束后,UIScrollView正常工作。最初的约束是根据UINavigationBar设置的,而不是视图的顶部。
答案 0 :(得分:0)
您需要在滚动视图中将文本字段向上滚动到键盘
CGRect visibleRect = CGRect(x: self.view.frame.origin.x, y: self.view.frame.origin.y, width: self.view.frame.size.width, height: self.view.frame.size.height - keyboardSize?.height ?? 0);
[scrollView setContentOffset:visibleRect.center animated:YES];