1.监听键盘弹起
- (void)registerForKeyboardNotifications
{
//使用NSNotificationCenter 鍵盤出現時
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification object:nil];
}
2.实现当键盘出现的时候计算键盘的高度大小。用于输入框显示位置
- (void)keyboardWasShown:(NSNotification*)aNotification
{
NSDictionary* info = [aNotification userInfo];
//kbSize即為鍵盤尺寸 (有width, height)
CGSize kbSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;//得到鍵盤的高度
NSLog(@"hight_hitht:%f",kbSize.height);
_keyboardhight = SCREEN_HEIGHT - kbSize.height;
//输入框位置动画加载
[self begainMoveUpAnimation:_keyboardhight];
}
- (void)begainMoveUpAnimation:(CGFloat)hight
{
UITextField *tx = (UITextField *)[[self view] viewWithTag:_editingTag];
if ((tx.frame.origin.y+tx.bounds.size.height+10) > hight) {
[UIView animateWithDuration:0.5 animations:^{
[[self view] setFrame:CGRectMake(0, (hight - (tx.frame.origin.y+tx.bounds.size.height+10)), SCREEN_WIDTH, SCREEN_HEIGHT)];
}
completion:^(BOOL finished){
}];
}