键盘的监听 和 取消第一响应者

一.监听键盘的弹出和退出(键盘的高度和弹出时间可用来做动画)

    // 监听键盘的通知

    [NSNotificationCenter addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];

    [NSNotificationCenter addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];

 

 

/**

 *  键盘即将显示的时候调用

 */

- (void)keyboardWillShow:(NSNotification *)note

{

    // 1.取出键盘的frame

    CGRect keyboardF = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];

    

    // 2.取出键盘弹出的时间

    CGFloat duration = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];

    

    // 3.执行动画

    [UIView animateWithDuration:duration animations:^{

        self.toolbar.transform = CGAffineTransformMakeTranslation(0, -keyboardF.size.height);

    }];

}

 

/**

 *  键盘即将退出的时候调用

 */

- (void)keyboardWillHide:(NSNotification *)note

{

    // 1.取出键盘弹出的时间

    CGFloat duration = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];

    

    // 2.执行动画

    [UIView animateWithDuration:duration animations:^{

        self.toolbar.transform = CGAffineTransformIdentity;

    }];

}

 

二、成为第一响应者和取消第一响应者

1.取消第一响应者

    [self.view endEditing:YES];//view或view的子控件都取消第一响应者

    或[self.textView resignFirstResponder];//直接让控件取消第一响应者

2.成为第一响应者

    [self.textView becomeFirstResponder];

 

posted @ 2015-06-30 15:41  俊华的博客  阅读(793)  评论(0编辑  收藏  举报