iOS在处理键盘的出现和消失时需要监听UIKeyboardWillChangeFrameNotifications/UIKeyboardDidHideNotifications
- (void)viewDidLoad { [super viewDidLoad]; //添加监听 键盘消失 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDown) name:UIKeyboardDidHideNotification object:nil]; //添加监听 键盘出现 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil]; } - (void)keyboardWillChangeFrame:(NSNotification *)noti{ //取出键盘动画的时间(根据userInfo的key-UIKeyboardAnimationDurationUserInfoKey) CGFloat duration = [noti.userInfo[UIKeyboardAnimationDurationUserInfoKey] floatValue]; //取得键盘最后的frame(根据userInfo的key----UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 227}, {320, 253}}";) CGRect keyboardFrame = [noti.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue]; //处理键盘出现的是页面的变化。。。。。。 } - (void)keyboardDown { //处理键盘消失是页面的变化 。。。。。。 }
时间: 2024-12-25 23:23:25