我一直在做这样的事情来模仿旧版iOS上的键盘动画.
CGRect keyboardBeginFrame;
[[note.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] getValue:&keyboardBeginFrame];
self.doneKeyboardButton.frame = CGRectMake(0, (keyboardBeginFrame.origin.y + keyboardBeginFrame.size.height) - 53, 106, 53);
[[[[UIApplication sharedApplication] windows] lastObject] addSubview:self.doneKeyboardButton];
CGPoint newCenter = CGPointMake(self.doneKeyboardButton.superview.frame.origin.x + self.doneKeyboardButton.frame.size.width/2,
self.doneKeyboardButton.superview.frame.size.height - self.doneKeyboardButton.frame.size.height/2);
[UIView animateWithDuration:[[note.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]-.02
delay:.0
options:[[note.userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]
animations:^{
self.contentView.frame = CGRectOffset(self.contentView.frame, 0, -TextFieldViewMovement);
self.doneKeyboardButton.center = newCenter;
}
completion:nil];
Run Code Online (Sandbox Code Playgroud)
但是,这已停止在iOS7上运行.看起来返回的值不再完全正确,完成按钮不再完全模仿键盘显示动画.
当你将键盘框架拖离屏幕时,我正在画一个关于如何获得键盘框架的空白.我知道如何使用UIKeyboardWillShowNotification,UIKeyboardWillChangeFrameNotification,UIKeyboardDidChangeFrameNotification开始或结束动画,但是当你将它拖离屏幕时我正在寻找持续更新.例如,我想知道键盘的框架在此拖动点的位置

我正在尝试使用键盘框架来调整桌面视图,该视图应该在向下拖动时正对着键盘.
任何帮助,将不胜感激.
谢谢,
韦斯
iOS 9 在iOS 8 QuickType栏中添加了一个快捷栏.
作为此更改的一部分,如果您将蓝牙键盘连接到iPad,则键盘处于最小化的仅限快捷栏模式(可以通过在模拟器中按下命令-k来模拟).
我有使用类似于以下方法获取键盘高度的代码:
CGRect keyboardFrame = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGFloat keyboardHeight = keyboardFrame.size.height; // = 313
Run Code Online (Sandbox Code Playgroud)
问题是当键盘在展开和折叠状态之间切换时,高度保持不变,导致我的视图显示在其旧位置:
期望的行为:
实际行为:
将红色视图附加到键盘顶部的正确方法是什么?