有一个分段控件,每个控件具有不同的高度。每个字段中都有一些文本字段。当我在文本字段上点击然后在另一段上点击时,在显示键盘时无法滚动到视图底部。
我想用这些无效的代码修复此问题。
if(self.isKeyBoardShowing) {
CGRect borderLabelRect = containerView.frame;
self.scrollView.contentSize = CGSizeMake(borderLabelRect.size.width , borderLabelRect.size.height + 325);
[self.view layoutIfNeeded];
[self.view layoutSubviews];
}
答案 0 :(得分:2)
在viewDidLoad中添加观察者
NotificationCenter.default.addObserver(self, selector: #selector(onShowKeyboard), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
并将选择器实现为->
@objc func onShowKeyboard(_ notification:Notification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
self.scrollView.contentInset = UIEdgeInsetsMake(0, 0, keyboardSize.height, 0)
}
}
答案 1 :(得分:0)
删除您完成的键盘设置代码。
只需将IQKeyboard Manager粘贴到您的项目中,它将自动滚动。
从下面的链接下载