iOS 获取键盘相关信息

一,在需要的地方添加监听

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onKeyboardWillShowNotification:)
                                                 name:UIKeyboardWillShowNotification object:nil];
 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onKeyboardWillHideNotification:)
                                                 name:UIKeyboardWillHideNotification object:nil];

 二,响应监听方法

- (void)onKeyboardWillShowNotification:(NSNotification*)notify {
    NSDictionary *userInfoDic = [notify userInfo];
    NSLog(@"userInfoDic = %@", userInfoDic);
    CGFloat timerval = [[userInfoDic objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue];
    NSValue *keyboardFrameValue = [userInfoDic objectForKey:UIKeyboardFrameEndUserInfoKey];
    CGRect keyboardFrame = [keyboardFrameValue CGRectValue];
    [UIView animateWithDuration:timerval animations:^(void){
        self.containerView.frame = CGRectMake(self.containerView.frame.origin.x, self.containerView.frame.origin.y - keyboardFrame.size.height, self.containerView.frame.size.width, self.containerView.frame.size.height);
    }];
}

 

posted @ 2015-04-10 15:57  shidaying  阅读(302)  评论(0编辑  收藏  举报