iOS键盘中英文切换键盘高度获取通知方法,
有需要的朋友可以参考下。
注册通知
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil]; }
移除通知
- (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillChangeFrameNotification object:nil]; }
通知调用方法
-(void)keyboardWillChangeFrame:(NSNotification*)notification { NSDictionary *userInfo = [notification userInfo]; NSValue* aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];//更改后的键盘 CGRect keyboardRect = [aValue CGRectValue]; CGFloat height = keyboardRect.size.height; NSValue *animationDurationValue = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey]; NSTimeInterval animationDuration; [animationDurationValue getValue:&animationDuration]; //以下为你要改变的View的Fram myView.frame = CGRectMake(0, self.view.frame.size.height-height-50, 320, 50); }