问题描述
我有一个 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 (将#修改为@)