我们如何让键盘出现在swift中的textView下面?
发布时间:2020-12-14 04:44:34 所属栏目:百科 来源:网络整理
导读:我用键盘出现在textfield下面 在View上加载添加观察者() NSNotificationCenter.defaultCenter().addObserver(self,selector: #selector(Gold_Loan_First_ViewController.keyboardDidShow(_:)),name: UIKeyboardDidShowNotification,object: nil) NSNotificat
我用键盘出现在textfield下面
在View上加载添加观察者() NSNotificationCenter.defaultCenter().addObserver(self,selector: #selector(Gold_Loan_First_ViewController.keyboardDidShow(_:)),name: UIKeyboardDidShowNotification,object: nil) NSNotificationCenter.defaultCenter().addObserver(self,selector: #selector(Gold_Loan_First_ViewController.keyboardWillBeHidden(_:)),name: UIKeyboardWillHideNotification,object: nil) 然后更新框架 weak var activeField: UITextField? func textFieldDidEndEditing(textField: UITextField) { self.activeField = nil } func textField(textField: UITextField,shouldChangeCharactersInRange range: NSRange,replacementString string: String) -> Bool { if textField==txtOTP { txtOTP.errorMessage="" } return true } func textFieldDidBeginEditing(textField: UITextField) { self.activeField = textField } func keyboardDidShow(notification: NSNotification) { if let activeField = self.activeField,let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() { let contentInsets = UIEdgeInsets(top: 0.0,left: 0.0,bottom: keyboardSize.height,right: 0.0) self.scrollView.contentInset = contentInsets self.scrollView.scrollIndicatorInsets = contentInsets var aRect = self.view.frame aRect.size.height -= keyboardSize.size.height if (!CGRectContainsPoint(aRect,activeField.frame.origin)) { self.scrollView.scrollRectToVisible(activeField.frame,animated: true) } } } func keyboardWillBeHidden(notification: NSNotification) { let contentInsets = UIEdgeInsetsZero self.scrollView.contentInset = contentInsets self.scrollView.scrollIndicatorInsets = contentInsets } 但是我如何为textView做到这一点.我用textView的didBeginEditing尝试了相同的代码,没有任何积极的影响 解决方法
其中一个简单且无代码的解决方案是在您的应用中使用以下pod.
IQKeyboardManger 稍后你需要在App Delegate中导入它,并在didfinishLaunching方法中添加这两行代码: IQKeyboardManager.sharedManager().enable = true 整个应用程序将解决您的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |