我正在尝试逐帧更改 UIImageView 的图像,我有几个应该通过按钮更改的以下图像。这是我的代码:
- (IBAction)next:(id)sender {
for( i = 0; i <= 31; i++ ) {
NSString* filename = [NSString stringWithFormat:@"pic%d.jpeg",i];
_image.image = [UIImage imageNamed:filename];
}
}
问题是当我点击按钮时,我的代码将图像更改为仅第一帧
最佳答案
因为变量 i 的值始终为 0
尝试以下解决方案:
在.h文件中创建实例变量
int imgCount;
在ViewDidLoad方法中初始化它
imgCount = 0;
NSString* filename = [NSString stringWithFormat:@"pic%d.jpeg",imgCount]; // img0 is displayed
_image.image = [UIImage imageNamed:filename];
- (IBAction)next:(id)sender {
//first (by default) img0 is display
imgCount++;
if (imgCount > 30) { //suppose total image is 31 means 0 to 30
imgCount = 0;
}
NSString* filename = [NSString stringWithFormat:@"pic%d.jpeg",imgCount];
_image.image = [UIImage imageNamed:filename];
}
- (IBAction)previous:(id)sender {
imgCount--;
if (imgCount < 0) { //suppose total image is 31 means 0 to 30
imgCount = 30;
}
NSString* filename = [NSString stringWithFormat:@"pic%d.jpeg",imgCount];
_image.image = [UIImage imageNamed:filename];
}
关于iOS - 逐帧更改图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16250467/