处理键盘弹出

//======== 监听键盘的弹出事件 ========



    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];







// 当键盘的位置大小发生改变时触发



- (void)keyboardWillChangeFrame:(NSNotification *)note



{



    // 1. 获取键盘当前的高度



    NSLog(@"%@", note.userInfo);



    CGFloat screenH = [UIScreen mainScreen].bounds.size.height;



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



    CGFloat keyboardY = rect.origin.y;



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



    



    /// 2.将当前ViewController的View整体向上平移一个"键盘的高度"



    [UIView animateWithDuration:duration animations:^{



        self.view.transform = CGAffineTransformMakeTranslation(0, keyboardY - screenH);



    }];



    



}



 

///记得移除通知

- (void)dealloc



{



    [[NSNotificationCenter defaultCenter] removeObserver:self];



}

 

你可能感兴趣的:(处理)