【发布时间】:2014-11-24 11:51:26
【问题描述】:
我无法可靠地获取键盘的实际高度。我正在添加一个自定义工具栏,该工具栏将直接放置在键盘上方。为此,我在屏幕底部和工具栏底部之间添加了一个静态空间约束。当显示键盘时,我将此约束修改为键盘的高度,这在 iOS 8 中变化很大。
要调整间隔的大小,我目前使用以下在UIKeyboardDidShowNotification 上触发的方法
-(void)keyboardDidShow:(NSNotification*)notification
{
CGFloat height = [[notification.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].height;
self.shimConstraint.constant = height;
[self.view layoutIfNeeded];
}
这有时会正确调整约束的大小,但返回的键盘高度通常是完全不正确的。键盘显示后可靠地获取键盘高度的最佳方法是什么?
编辑:该应用程序允许用户在多个不同的输入字段之间切换。其中一些已禁用自动更正,因此自动更正栏可能隐藏也可能不隐藏,并且在切换字段时返回不正确的高度。
【问题讨论】:
-
不要使用keyboardDidShow...在链接中看看我的解决方案:stackoverflow.com/questions/26213681/…