iphone - 如何设置键盘动画时间

标签 iphone cocoa-touch animation uiview keyboard

希望有一个基本问题:是否有一种简单的方法可以改变键盘弹出的速度?我可以在 ViewDidLoad 方法中执行此操作:

[UIView setAnimationDuration:2.5];

它不仅会影响我的键盘弹出的速度(非常慢),还会影响所有其他动画,例如光标动画(也非常慢)。有没有办法单独针对键盘的速度? [UIView.firstResponder setAnimationDuration:2.5]; 并没有真正起作用。

最佳答案

我想我实际上需要这个:

// Get the duration of the animation.
NSValue *animationDurationValue = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSTimeInterval animationDuration;
[animationDurationValue getValue:&animationDuration];

// Animate the resize of the text view's frame in sync with the keyboard's appearance.
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:animationDuration];

textView.frame = newTextViewFrame;

[UIView commitAnimations];

我在 Apple 的示例代码中发现了这一点,说明了如何在键盘顶部添加一个栏。但当我在其他地方读到动画持续时间是只读时,我仍然有点困惑。不管怎样,这有效,所以我想这就是我问题的答案。

关于iphone - 如何设置键盘动画时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5513293/

相关文章:

ios - 不知从何而来的不需要的动画

javascript - 让div在页面加载时不显示,然后在函数运行时显示 block

iphone - ios 从不同的类回调 viewController

iphone - 购买iOS源代码的网站?

iphone - 保存用户界面颜色

java - 在 Java 中获取操作系统动画首选项

iphone - UITextView 富文本?

ios - 展开 segue 不起作用

cocoa-touch - 如何使用 AVFoundation 或 AVAsset 在我的视频之上创建字幕?

ios - 是否有将实例变量与 NSLayoutConstraint 的可视格式一起使用的最佳实践?