您如何在多个iPhone屏幕上制作动画?让我解释一下。
所以,目前我有一个动画,其中三个按钮展开spring animation
。我已经设置了自动布局,整个项目没有错误或风险。
在我的情况下,这很糟糕,我使用了CGPoint
所以,就像......
animationCodeMethod {
button1.center = CGPoint(x: , y: )
button2.center = CGPoint(x: , y: )
button3.center = CGPoint(x: , y: )
}
我的动画目标是三个按钮相互堆叠,在执行时相互滑出几个像素。
o //三叠
执行: - > o-o-o
我知道CGPoint方法很糟糕。
在iPhone 5等设备上运行的功能在iPhone 6或6 plus上看起来完全不同。我知道我应该在代码中使用自动布局,但字面上没有任何线索。你会如何设置它以便动画在所有屏幕上运行? CGPoint非常像素。因此,虽然它在一个屏幕尺寸上看起来不错,但在另一个屏幕尺寸上,分辨率会改变(更多像素),从而产生不同的结果。
非常感谢任何帮助。
答案 0 :(得分:0)
你的问题很模糊,所以很难给你一个通用答案。
使用硬编码值是使用"幻数"的情况,这很糟糕。
您应该设置约束,设置按钮的中心位置,将出口链接到这些约束,然后在代码中操作它们。
如果要分发按钮,请编写代表超视图宽度的代码,然后将空间分开以均匀放置按钮。
答案 1 :(得分:0)
由于您已经在使用AutoLayout,请尝试使用NSLayoutConstraints。将两个链接到ViewController;一个是button1和button2之间的水平间距,另一个是button2和button3之间的水平间距。在动画中:
button1And2Contraint.constant = distanceBetween
button2And3Contraint.constant = distanceBetween
获得superview的宽度并设置" distanceBetween"是明智的。相应