【发布时间】:2011-12-25 07:47:13
【问题描述】:
UIKeyboardFrameBeginUserInfoKey 和 UIKeyboardFrameEndUserInfoKey 有什么区别?
这是否意味着“开始”返回的值与“结束”返回的值不同?
谢谢!
【问题讨论】:
UIKeyboardFrameBeginUserInfoKey 和 UIKeyboardFrameEndUserInfoKey 有什么区别?
这是否意味着“开始”返回的值与“结束”返回的值不同?
谢谢!
【问题讨论】:
UIKeyboardFrameBeginUserInfoKey 将在动画开始之前返回键盘的帧。 UIKeyboardFrameEndUserInfoKey 将在动画完成后返回键盘的帧。以如下sn-p代码为例:
NSDictionary* info = [notification userInfo];
CGRect beginFrame = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
CGRect endFrame = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
如果您要在调试窗口中打印beginFrame 和endFrame 的值,您可能会发现如下内容:
(gdb) print beginFrame
$1 = {
origin = {
x = 0,
y = 480
},
size = {
width = 320,
height = 216
}
}
(gdb) print endFrame
$2 = {
origin = {
x = 0,
y = 264
},
size = {
width = 320,
height = 216
}
}
所以在 iPhone 上,这表明键盘将从屏幕底部进入动画。键盘的大小没有改变(如预期的那样),但 y 坐标显示了键盘的开始和结束位置。
【讨论】: