用swift3.0做项目,想自己写个关于解决键盘不遮挡视图的方法,本以为很简单,没想到原来的方法用不了了,后来解决了,记录下。
1.通知还是那个通知,但是写法就变了一些
//MARK: 避免键盘弹出遮挡视图的通知
NotificationCenter.default.addObserver(self, selector: #selector(KXSLAddLockViewController.keyboardWillHide), name: NSNotification.Name.UIKeyboardWillHide, object: nil)
2.在接到通知后执行的方法中,需要如下处理才可以得到真正的高度,剩下的就好办了,就是改变视图的位置避免遮挡
let dic:NSDictionary = notific.userInfo! as NSDictionary
print(dic["UIKeyboardFrameEndUserInfoKey"]!)
let a:AnyObject? = dic.object(forKey: UIKeyboardFrameEndUserInfoKey) as AnyObject?
let endY = a?.cgRectValue.origin.y
print(endY,"endY")
3.依然不要忘了移除观察者哦