- (void)addNoticeForKeyboard {
//监听弹出键盘
@weakify(self);
[[[NSNotificationCenter defaultCenter] rac_addObserverForName:UIKeyboardWillShowNotification object:nil] subscribeNext:^(NSNotification * _Nullable noti) {
@strongify(self);
NSDictionary *userInfo = [noti userInfo];
NSTimeInterval animationDuration;
UIViewAnimationCurve animationCurve;
CGRect keyboardBeginFrame;
CGRect keyboardEndFrame;
[[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&keyboardEndFrame];
[[userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] getValue:&keyboardBeginFrame];
[[userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey] getValue:&animationCurve];
[[userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] getValue:&animationDuration];
CGFloat offsetHeight = self.view.height - keyboardEndFrame.origin.y - kTabBarMargin;
offsetHeight = offsetHeight > 0 ? offsetHeight : 0;
NSLog(@"willShowNotification : %f\n, keyboardBeginFrame = %@\n,keyboardEndFrame = %@", offsetHeight,NSStringFromCGRect(keyboardBeginFrame),NSStringFromCGRect(keyboardEndFrame));
[UIView animateWithDuration:animationDuration animations:^{
[UIView setAnimationCurve:animationCurve];
self.textField.y = self.view.height - 40 - kTabBarMargin;
[self.view layoutIfNeeded];
}];
}];
//可以监听收回键盘
[[[NSNotificationCenter defaultCenter] rac_addObserverForName:UIKeyboardWillHideNotification object:nil] subscribeNext:^(NSNotification * _Nullable noti) {
@strongify(self);
NSDictionary *userInfo = [noti userInfo];
NSTimeInterval animationDuration;
UIViewAnimationCurve animationCurve;
[[userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey] getValue:&animationCurve];
[[userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] getValue:&animationDuration];
CGFloat y = self.view.bounds.size.height - 40 - kNavigationH - kTabBarMargin;
NSLog(@"willShowNotification : %f", y);
[UIView animateWithDuration:animationDuration animations:^{
[UIView setAnimationCurve:animationCurve];
self.textField.y = y;
[self.view layoutIfNeeded];
}];
}];
}
iOS获取键盘高度
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...