0

在 iOS6(iPad 3 和模拟器)上取消键盘时,键盘 + 附件视图会为 UIKeyboardFrameEndUserInfoKey 报告这些帧(转换为横向视图):

...WillChangeFrameNotification: {{0, 660}, {1024, 396}}
...DidChangeFrameNotification: {{0, 108}, {1024, 396}}

意思是,键盘报告它很快就会有一个 Y 坐标,它在关闭时通常具有,即 660(这没关系,因为键盘脱离也会发送 WillHide 通知);但随后,它改变了主意并报告说它已将其框架更改为完全不同的位置(y = 108)?!

我错过了什么吗?

4

1 回答 1

2

不,这不是错误。只需转换当前视图上的坐标:

CGRect keyboardFrame = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGRect dd  = [self.view convertRect:keyboardFrame fromView:nil];
NSLog(@"keyboard frame %@", NSStringFromCGRect(dd));

我添加了简单的要点

于 2013-07-10T09:19:10.807 回答