0

我一直在努力使这段代码工作,但不能真正把最后一部分放在一起。

我有 2 行 6 个图像视图,

Imageview 1 到 6 和 7 到 12。

首先,我从 26 个按钮 (AZ) 中单击 6 个按钮,它们显示在前 6 个视图中,代码如下:

- (void)setImage:(UIImage *)image {
if (imageview1.image == nil) {
    [imageview1 setImage:image];
} else if (imageview2.image == nil){
    [imageview2 setImage:image];
} else if (imageview3.image == nil){
    [imageview3 setImage:image];
} else if (imageview4.image == nil){
    [imageview4 setImage:image];
} else if (imageview5.image == nil){
    [imageview5 setImage:image];
} else if (imageview6.image == nil){
    [imageview6 setImage:image];
}
 }

-(IBAction)showA {

UIImage *img = [UIImage imageNamed:@"A.png"];

[self setImage:img];

}

现在,当我单击播放按钮时,我希望图像从视图 1 - 6 变为 7 - 12。

我希望有人可以解释我如何做到这一点,我现在尝试了几种方法,但不能真正让它工作,也许制作可变字符串然后从中获取图像?

希望有人能给我解释一下或者有一些示例代码给我谢谢

4

2 回答 2

0

这不是因为您没有为 UIImageView 设置图像,它没有为图像分配空间。

另一方面,CGImage 表示“图像的数据”。如果您没有设置图像但 UIImageView 为您分配 UIImage,您确定“此图像的数据”将为 nil(因为没有图像)。

所以你应该试试看:

if([imageview1.image CGImage]==nil){[imageview1 setImage:image];}

希望对你有帮助

于 2012-04-18T22:39:10.297 回答
0

像这样?

[imageview7 setImage:imageView1.image];
[imageview8 setImage:imageView2.image];
etc...
[imageview1 setImage:nil];
[imageview2 setImage:nil];
etc...
于 2012-04-18T21:31:04.600 回答