好吧,我的一个视图中有一个 UIImageview 。我想每 10 秒更改一次图像,但我不知道如何制作它。
有什么建议吗?
好吧,我的一个视图中有一个 UIImageview 。我想每 10 秒更改一次图像,但我不知道如何制作它。
有什么建议吗?
首先创建图像数组。
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];
很简单。。
您将需要使用计时器。
NSTimer *timer = [NSTimer timerWithTimeInterval:10 target:self selector:@selector(changeImage) userInfo:nil repeats:true];
并实现改变图像的方法:
- (void) changeImage {
imageView.image = newImage;
}
您可以将此计时器放入包含 ImageView 的 ViewController 中,或者您可以将 ImageView 子类化并让它自己管理其图像(如果有更多独立的 imageview 需要更改其图像,则特别有用
对于 Swift 4 地方Timer.scheduledTimer
呼叫viewWillAppear
或viewDidAppear
:
Timer.scheduledTimer(timeInterval: 10,
target: self,
selector: #selector(self.changeView),
userInfo: nil,
repeats: true)
并为 changeView 功能更改图像
@objc func changeView() {
//change image in this function
}