【发布时间】:2016-05-28 14:05:31
【问题描述】:
我使用 2 种方法制作了一段核心动画,以使对象的大小从现有位置的中心向外增长...
(1) viewDidLayoutSubviews()
self.imageView.frame = CGRectMake(187, 249, 0, 0)
位于此 imageView 对象的屏幕中心
(2) viewDidAppear() - 持续时间为 1 秒的动画块。例如
UIView.animateWithDuration(1.0, delay: 1.5, options: [], animations: {
self.imageView.frame = CGRectMake(16, 70, 343, 358)
}, completion: nil)
将对象放置在我希望它以全尺寸显示的位置,以适应特定的屏幕尺寸。
当我在 iPhone 尺寸上使用 CGRectMake(...) 的 x 和 y 坐标时,我正在寻找它们工作正常,但是当我尝试使用不同屏幕尺寸的模拟器时,它不能与 Autolayout 约束结合使用,但会覆盖现有的约束。
问题...
有没有办法让这个动画以某种方式与屏幕大小成比例,而不是明确的坐标和大小来使动画工作?通过 CGRectMake ...? (...这似乎表明使用自动布局和动画之间存在冲突)
理想情况下,我正在寻找一个优雅简单的解决方案?还是我处于技术的极限?
非常感谢!
【问题讨论】:
标签: ios swift animation autolayout