UIKeyboardFrameBeginUserInfoKey

Wan*_*ang 7 keyboard constants ios

UIKeyboardFrameBeginUserInfoKey和UIKeyboardFrameEndUserInfoKey之间的区别是什么?

这是否意味着"开始"一个返回的值与"结束"返回的值不同?

谢谢 !

Mik*_*keG 13

UIKeyboardFrameBeginUserInfoKey将在动画开始之前返回键盘的框架.动画完成后,UIKeyboardFrameEndUserInfoKey将返回键盘的框架.例如,请使用以下代码段:

NSDictionary* info = [notification userInfo];
CGRect beginFrame = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
CGRect endFrame = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
Run Code Online (Sandbox Code Playgroud)

如果你要打印的价值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
   }
 }
Run Code Online (Sandbox Code Playgroud)

所以在iPhone上,这表明键盘将从屏幕底部动画显示.键盘的大小不会改变(如预期的那样),但是y坐标显示键盘的开始和结束位置.