【问题标题】:How do I retrieve the "animated" duration of various iOS method calls?如何检索各种 iOS 方法调用的“动画”持续时间?
【发布时间】:2012-08-15 01:44:40
【问题描述】:

许多 iOS 设置器都有一个“动画”变体,例如 UIScrollView 上的 setZoomScale:,或者,任何具有 animated: 参数的东西。

我的问题是,a) 我如何确定正在使用的持续时间,以及 b) 如有必要,我如何修改该持续时间?

【问题讨论】:

  • [UIView setAnimationDuration:1.0]; [UIView setAnimationDelay:2.0];
  • 您想只对某些类型的对象执行此操作,还是对任何带有“animated:”参数的对象执行此操作?
  • 我想理想情况下能够逐个设置它。在不同的情况下,不同的速度会感觉更好或更差。
  • @Tutankhamen 我刚刚试过这个:[UIView setAnimationDuration:30.0]; [self.scroller setZoomScale:scale animated:YES];(使用 30 秒,以确保此测试的效果明显)。没有运气:(

标签: ios animation duration


【解决方案1】:

有趣的问题。根据我的经验,这些持续时间确实因平台(iPad 与 iPhone)而异,并且没有记录或以任何方式可访问。许多系统动画的一个非常常见的持续时间似乎是 0.35-0.40 秒左右。较短的动画通常恰好是该时间的一半。较长的动画通常恰好是该时间的两倍。

例如,通过重新定向设备触发的旋转动画在将横向旋转到纵向(反之亦然)时使用 0.4 秒,而在将横向从左旋转到横向右(或从纵向向下到纵向向上)时使用 0.8 秒。

但也有例外。例如,键盘显示动画在触发的通知中提供其持续时间。它不可修改,但至少您可以阅读它。

【讨论】:

  • 是的,键盘显示/隐藏是我能想到的一个例外,它实际上暴露了它的持续时间。但对于大多数其他情况,似乎我们只能做出最好的猜测。
  • 接受这个答案是因为 - 虽然这不是我想听到的 - 这似乎是我们目前所能得到的最接近的结果。 “我们无法确定,也无法改变。”哦,好吧。
猜你喜欢
  • 1970-01-01
  • 2018-06-15
  • 2014-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-24
  • 1970-01-01
相关资源
最近更新 更多