1

我的屏幕中央有一个 UIView,其中包含一个UISearchBar. 当用户单击时,UISearchBar我成功地根据UIKeyboardFrameEndUserInfoKey.

问题是这对我来说还不够好。

我想做的是保持在UIView那里,直到键盘顶部接触到底部UIView,然后以与键盘移动相同的速度向上移动 UIView。一旦UIView键盘到达UIView.

我开始认为这对于UIKeyboard通知发送的信息是不可能的。有人尝试过类似的东西并看到成功吗?

谢谢!

4

1 回答 1

1

为此,您应该能够使用 to 中提供的信息UIKeyboardWillChangeFrameNotification。此通知中的信息会告诉您键盘的开始帧和结束帧、动画曲线的类型以及持续时间。

要在动画中的任何给定时间计算键盘的点,您可以使用Jeff LaMarche 的这段代码,或者使用CAMediaTimingFunction该类并插入动画类型(带名称的函数)并确定键盘应该在哪里某些时间点。

一旦您知道键盘在给定时间点的位置,您就可以设置动画让您UIView随键盘移动。

于 2013-04-18T23:02:11.083 回答