我正在实现此方法以重新定位UIScrollView以显示被键盘弹出遮挡的UITextField:
Move a view up only when the keyboard covers an input field
滚动视图不会按预期的键盘高度从底部移动。变量'keyboardSize!.height‘正在接收正确的高度值,如果我向’底部‘参数输入随机值,则得到相同的结果。但是,如果我向“top”和“左侧”参数添加值,则在调用keyboardWasShown函数时,它们确实会移动滚动视图。
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。任何帮助都很感激。
*编辑*
这一问题是IB中含糊不清的违禁品造成的。在重置它们并使用建议的约束之后,UIScrollView正确工作。最初,top约束是针对UINavigationBar设置的,而不是针对视图顶部设置的。
发布于 2016-02-03 19:04:43
您需要将文本字段向上滚动到滚动视图中的键盘上方。
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];https://stackoverflow.com/questions/35185208
复制相似问题