我正在尝试在 Objective-C 中实现动画,其中附有纽约天际线插图。要求是实现城市灯光动画,其中天际线建筑物中的灯光(方形和矩形框)按顺序点亮......以吸引人的动画方式。实现这一目标的方法之一是使用一组顺序图像(UIImageView.animationImages = 图像数组),但我确信可能有更好、更有效的方法来实现这一目标。如果有人能指出我正确的方向,我将不胜感激。
最佳答案
[UIView animateWithDuration:1 delay:0 options:0 animations:^{
light1.alpha = 1;
} completion:nil];
[UIView animateWithDuration:1 delay:0.5 options:0 animations:^{
light2.alpha = 1;
} completion:nil];
[UIView animateWithDuration:1 delay:1 options:0 animations:^{
light3.alpha = 1;
} completion:nil];
[UIView animateWithDuration:1 delay:1.5 options:0 animations:^{
light4.alpha = 1;
} completion:nil];
在创建灯光 View 时将其 alpha 设置为 0,然后在 -viewDidAppear
中运行它也许...
(假设每个灯都是一个单独的 UIView
...)
如果你有很多 View ,你可以这样做来为每个 View 的 alpha 值设置动画:
float n = 0;
for (UIView* v in self.view.subviews) {
if (v.alpha < 0.5) {
[UIView animateWithDuration:1 delay:n options:0 animations:^{
v.alpha = 1;
} completion:nil];
n += 0.5;
}
}
关于objective-c - Objective-c 中的灯光动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12284250/