在iOS6(iPad 3和Simulator)上取消键盘时,键盘+附件视图会报告UIKeyboardFrameEndUserInfoKey的这些帧(转换为横向视图):
...WillChangeFrameNotification: {{0, 660}, {1024, 396}}
...DidChangeFrameNotification: {{0, 108}, {1024, 396}}
意思是,键盘报告它很快就会有一个Y坐标,它在关闭时通常具有的坐标,即660(这是好的,因为键盘移除也会发送一个WillHide通知);但是,它改变了主意,并报告它已将其框架更改为完全不同的位置(y = 108)而不是?!
我错过了什么吗?
答案 0 :(得分:2)
不,这不是一个错误。只需转换当前视图上的坐标:
CGRect keyboardFrame = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGRect dd = [self.view convertRect:keyboardFrame fromView:nil];
NSLog(@"keyboard frame %@", NSStringFromCGRect(dd));
我添加了简单的Gist