復(fù)制:
- (void)registerForKeyboardNotifications{
? ? //使用NSNotificationCenter 鍵盤出現(xiàn)時
? ? [[NSNotificationCenter defaultCenter] addObserver:self
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? selector:@selector(keyboardWillShown:)
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? name:UIKeyboardWillChangeFrameNotificationobject:nil];
? ? //使用NSNotificationCenter 鍵盤隱藏時
? ? [[NSNotificationCenter defaultCenter] addObserver:self
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? selector:@selector(keyboardWillBeHidden:)
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? name:UIKeyboardWillHideNotificationobject:nil];
}
//實現(xiàn)當(dāng)鍵盤出現(xiàn)的時候計算鍵盤的高度大小。用于輸入框顯示位置
- (void)keyboardWillShown:(NSNotification*)aNotification{
? ? NSDictionary*info = [aNotificationuserInfo];
? ? NSValue *value = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
? ? CGSizekeyboardSize = [valueCGRectValue].size;
? ? //輸入框位置動畫加載
? ? [UIView animateWithDuration:0.3 animations:^{
? ? ? ? [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
? ? //self.sendView 是 輸入框控件
//? ? ? ? self.sendView.y = [] - 44 - 64 - keyboardSize.height;
? ? }completion:^(BOOLfinished) {
? ? }];
}
//當(dāng)鍵盤隱藏的時候
- (void)keyboardWillBeHidden:(NSNotification*)aNotification{
? ? [UIView animateWithDuration:0.3 animations:^{
? ? ? ? [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
? ? ? ? //self.sendView 是 輸入框控件
//? ? ? ? self.sendView.y = kScreenHeight - 44 - 64;
? ? }completion:^(BOOLfinished) {
? ? }];
}