gpt4 book ai didi

objective-c - iOS 7 - 键盘动画

转载 作者:IT老高 更新时间:2023-10-28 11:36:45 25 4
gpt4 key购买 nike

我正在尝试了解 iPhone 5 模拟器上 iOS 7.0 中的新键盘动画。我想在键盘出现时调整 UITableView 的大小,但我无法获得正确的动画细节。
当键盘出现或消失时,我正在使用来自 NSNotification 对象的信息。

这是我的日志:

Move keyboard from {{0, 920}, {320, 216}} to {{0, 352}, {320, 216}}
with duration: 0.400000
and animation curve: 7

UIViewAnimationCurveEaseInOut = 0
UIViewAnimationCurveEaseIn = 1
UIViewAnimationCurveEaseOut = 2
UIViewAnimationCurveLinear = 3

动画曲线是未知值,怎么办?

最佳答案

在 iOS 7 中,键盘使用了一种新的、未记录的动画曲线。虽然有些人注意到对动画选项使用未记录的值,但我更喜欢使用以下内容:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:[notification.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue]];
[UIView setAnimationCurve:[notification.userInfo[UIKeyboardAnimationCurveUserInfoKey] integerValue]];
[UIView setAnimationBeginsFromCurrentState:YES];

// work

[UIView commitAnimations];

虽然建议使用基于 block 的动画,但从键盘通知返回的动画曲线是 UIViewAnimationCurve,而您需要传递给基于 block 的动画的选项是 UIViewAnimationOptions。使用传统的 UIView 动画方法,您可以将值直接通过管道输入。最重要的是,这将使用新的未记录动画曲线(整数值 7)并使动画与键盘匹配。而且,它同样适用于 iOS 6 和 7。

关于objective-c - iOS 7 - 键盘动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18957476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com