尝试每10秒更换一次UIImageView

时间:2012-04-29 09:32:24

标签: iphone objective-c animation uiimageview

嗯,我的一个观点中有一个UIImageview。我想每隔10秒更换一次图像,但我不知道如何制作它。

有什么建议吗?

3 个答案:

答案 0 :(得分:16)

首先创建图像数组。

NSArray *images = [NSArray arrayWithObjects:[UIimage imagenamed:@"image1.png"],[UIimage imagenamed:@"image2.png"],[UIimage imagenamed:@"image3.png"],[UIimage imagenamed:@"image4.png"]]];

然后将数组设置为UIImageViews“animationImages”属性

imageView.animationImages = images;

设定动画时间。

imageView.animationDuration = 10;

开始动画..

[imageView startAnimating];

要停止动画,只需执行此操作

[imageView stopAnimating];

非常简单..

答案 1 :(得分:4)

您需要使用计时器。

NSTimer *timer = [NSTimer timerWithTimeInterval:10 target:self selector:@selector(changeImage) userInfo:nil repeats:true];

实现改变图像的方法:

- (void) changeImage {
    imageView.image = newImage;
}

您可以将此计时器放入包含ImageView的ViewController中,或者您可以将ImageView子类化并让它自己管理图像(如果有更多独立的图像视图需要更改其图像,则特别有用

答案 2 :(得分:1)

对于Timer.scheduledTimerviewWillAppear中的Swift 4地方viewDidAppear呼叫:

Timer.scheduledTimer(timeInterval: 10,
                         target: self,
                         selector: #selector(self.changeView),
                         userInfo: nil,
                         repeats: true)

对于changeView功能,更改图片

@objc func changeView() {
//change image in this function
}