本文示例在一个父页面点击某个按钮时增加一个子视图,子视图内有个文本编辑框,当文本视图为第一响应者时,键盘从下而上推动视图上移,同时子视图也随之上移,背景此时变为半透明。输入完成确定或者点击背景放弃输入时,子视图随键盘下移最后消失。
首先注册键盘消息
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardFrameWillShowNotification:"), name:UIKeyboardWillShowNotification, object: nil)
当 self.inputTextFiled.becomeFirstResponder() 被调用而成为第一响应者时,会发消息 UIKeyboardWillShowNotification,这里增加背景视图,使点击之前父页面不会响应,同时为背景增加响应,点击时键盘下移。
func keyboardFrameWillShowNotification(notification:NSNotification) {
let kbRect:CGRect =(notification.userInfo!)[UIKeyboardFrameEndUserInfoKey]!.CGRectValue()
let