思路:在文本输入框textfield获得焦点时,判断文本框是否会因为键盘弹出而档住,如果档住了,则文本框的位置向上移动,移动的距离就为键盘的高度。
首先,先注册键盘弹出的监听
NSNotificationCenter.defaultCenter().addObserver(self, selector: “keyboardShow:”, name: UIKeyboardDidShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: “keyboardHide”, name: UIKeyboardDidHideNotification, object: nil)
然后实现keyboardShow:的方法,获取键盘的高度值
func keyboardShow(notification:NSNotification){
var userInfo = notification.userInfo! as NSDictionary
var value = userInfo.objectForKey(UIKeyboardFrameEndUserInfoKey) as NSValue
var keyboardRect = value.CGRectValue()
var height = keyboardRect.size.height
NSLog(“keyboard height is:(height)”)
}
获取后就可以操作文本框的位置了