objective-c - Objective-c 中的灯光动画

标签 objective-c ios

我正在尝试在 Objective-C 中实现动画,其中附有纽约天际线插图。要求是实现城市灯光动画,其中天际线建筑物中的灯光(方形和矩形框)按顺序点亮......以吸引人的动画方式。实现这一目标的方法之一是使用一组顺序图像(UIImageView.animationImages = 图像数组),但我确信可能有更好、更有效的方法来实现这一目标。如果有人能指出我正确的方向,我将不胜感激。

enter image description here

最佳答案

[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/

相关文章:

iphone - 将 View Controller 添加到 View 层次结构的正确方法是什么?

objective-c - 我的协议(protocol)方法的选择器没有已知的实例方法

objective-c - 如何获取 NSString 的子字符串?

ios - 如何找到方法可能抛出的错误类型并在 Swift 中捕获它们

ios - 使用 UIPageViewController 将 PageCurl 转换为滚动

ios - 在转换应用程序中构建数据

ios - 如何在不破坏 Rust 工具链的情况下在 XCode 中测试 iOS 应用程序?

ios - 将 CAShapeLayer 代码从 iOS 转换为 OSX

IOS 8 选项卡栏项目背景颜色

ios - AFNetworking-可达性始终返回-1