我已经Autolayout
这个屏幕截图使用。我想当我点击textView
,textView 将始终位于键盘上方,而且我正在使用自定义NavigationBar
.我已经用过IQKeyBoardManagerSwift
它正在工作,但是我的NavigationBar
也向上移动我想要我的NavigationBar
如果我单击 textView,则会粘在顶部。对此的任何解决方案。提前致谢
雨燕5.0:- 拖动你的UITextView
in a contentView(UIView)
, 创造IBOutlet
contentView 的底部约束,即bottomConstraint
。使用下面提到的和自定义的代码后NavigationBar
也将停留在顶部,只有 textView 将位于键盘上方。
override func viewDidLoad() {
super.viewDidLoad()
let center: NotificationCenter = NotificationCenter.default
center.addObserver(self, selector: #selector(Profile.keyboardWillShow(notification:)), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
center.addObserver(self, selector: #selector(Profile.keyboardWillHide(notification:)), name: NSNotification.Name.UIKeyboardWillHide, object: nil)
}
@objc func keyboardWillShow(notification: NSNotification){
let userInfo:NSDictionary = notification.userInfo! as NSDictionary
let keyboardSizeNow:CGSize = (userInfo.object(forKey: UIKeyboardFrameEndUserInfoKey)! as AnyObject).cgRectValue.size
UIView.animate(withDuration: 0.2, animations: { () -> Void in
self.bottomConstraint.constant = keyboardSizeNow.height - 49
self.view.layoutIfNeeded()
})
}
@objc func keyboardWillHide(notification: NSNotification){
UIView.animate(withDuration: 0.2, animations: { () -> Void in
self.bottomConstraint.constant = 0
self.view.layoutIfNeeded()
})
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)