如何解决使用键盘和文本视图管理垂直滚动视图
我有一个 uiscrollview
,其中有多个 uitextviews
作为子视图,就像一个表单。我的目标是让任何 uitextview
点按,出现在键盘上方。
如果我点击一个 uitextview
之前没有点击一个,或者如果我按下返回键将我带到下一个 uitextview
,我当前的代码有效。
当我点击一个 uitextview
时,事情变得不稳定,然后一直滚动到底部以激活并点击另一个 uitextview
。 uiscrollview
不能正确滚动到底部 uitextview
,而是滚动到随机位置。关于如何最好地管理这种情况的任何想法?诚然,我不知所措...
@objc func handleKeyboardShow(notification: NSNotification) {
if let userInfo = notification.userInfo {
var keyboardFrame:CGRect = (userInfo[UIResponder.keyboardFrameEndUserInfoKey] as! NSValue).cgRectValue
keyboardFrame = self.view.convert(keyboardFrame,from: nil)
var contentInset:UIEdgeInsets = self.scrollView.contentInset
contentInset.bottom = keyboardFrame.size.height + 20
scrollView.contentInset = contentInset
}
}
@objc func handleKeyboardHide(notification: NSNotification) {
let contentInset:UIEdgeInsets = UIEdgeInsets.zero
scrollView.contentInset = contentInset
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。