代码之家  ›  专栏  ›  技术社区  ›  ohho

UIKeyboardFrameBeginUserInfoKey和UIKeyboardFrameEndUserInfoKey

  •  39
  • ohho  · 技术社区  · 14 年前

    documentation :

    UIKeyboardFrameBeginUserInfo键 这个 包含 起始帧 键盘的屏幕坐标。 这些坐标不考虑 界面方向的变化。 因此,您可能需要转换 转换器ect:fromWindow:方法)或 转换器ect:fromView:方法)之前 使用它。

    钥匙 对于包含 用于标识 端部框架 考虑任何应用的旋转系数 因此,windows内容 界面方向的变化。 矩形到窗口坐标(使用 转换器ect:fromWindow:方法)或 查看坐标(使用 转换器ect:fromView:方法)之前

    start frame end frame

    1 回复  |  直到 9 年前
        1
  •  53
  •   Community CDub    7 年前

    开始帧是键盘在动画开头的位置:如果显示键盘,则为屏幕外;如果隐藏键盘,则为屏幕上。结束帧是键盘在动画结束时的位置:反之亦然。您可以使用它们之间的差异来编写一个方法来响应隐藏和显示键盘。

    UIKeyboardAnimationCurveUserInfoKey UIKeyboardAnimationDurationUserInfoKey 当设置视图动画时:这样,您的动画和操作系统的动画将同步。

    另一个提示:链接到的文档说明,“userInfo字典的UIKeyboardFrameBeginUserInfoKey和UIKeyboardFrameEndUserInfoKey属性中包含的矩形应该只用于它包含的大小信息。不要在矩形交集操作中使用矩形的原点(始终为{0.0,0.0})。至少在操作系统3.2的iPad上,这是不正确的。两个矩形的大小相同,而原点(以屏幕坐标表示)在这两个矩形之间不同。

    您可能会发现这个问题很有帮助: UIKeyboardBoundsUserInfoKey is deprecated, what to use instead?