动画背景与循环在iOS中

时间:2015-01-27 09:43:29

标签: ios objective-c ipad view background

在我的视图中使用此代码制作动画背景。

实际上有3张名为background_screen-1.pngbackground_screen-2.pngbackground_screen-3.png

的照片

在我的viewDidLoad我使用此代码:

- (void)viewDidLoad
{
    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage animatedImageNamed:@"background_screen-" duration:1.0f]];   
}

仅显示background_screen-1.png。如何才能在我的3张图片之间进行循环以获得动画背景?

2 个答案:

答案 0 :(得分:1)

选择UIImageView,您可以执行以下操作,因为UIImageView内置了一种方法来制作动画

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Load images
    NSArray *imageNames = @[@"win_1.png", @"win_2.png", @"win_3.png", @"win_4.png",
                        @"win_5.png", @"win_6.png", @"win_7.png", @"win_8.png",
                        @"win_9.png", @"win_10.png", @"win_11.png", @"win_12.png",
                        @"win_13.png", @"win_14.png", @"win_15.png", @"win_16.png"];

    NSMutableArray *images = [[NSMutableArray alloc] init];
    for (int i = 0; i < imageNames.count; i++) {
        [images addObject:[UIImage imageNamed:[imageNames objectAtIndex:i]]];
    }

    // Normal Animation
    UIImageView *animationImageView = [[UIImageView alloc] initWithFrame:CGRectMake(60, 95, 86, 193)];
    animationImageView.animationImages = images;
    animationImageView.animationDuration = 0.5;

    [self.view addSubview:animationImageView];
    [animationImageView startAnimating];
}

答案 1 :(得分:1)

colorWithPatternImage会创建静态颜色,而不是随时间变化的颜色。

您可以使用UIImageView作为ViewController的背景。只需将您的动画图片用作image的{​​{1}}。