单击按钮时在不同的图像视图中显示图像。

时间:2012-04-18 20:32:49

标签: ios xcode imageview

我一直在尝试使这段代码工作,但无法真正完成最后的部分。

我有2行6个图像视图,

Imageview 1到6和7到12。

首先,我点击26个按钮(A-Z)中的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.

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

希望有人能解释我或者为我提供一些示例代码,谢谢

2 个答案:

答案 0 :(得分:0)

喜欢这个吗?

[imageview7 setImage:imageView1.image];
[imageview8 setImage:imageView2.image];
etc...
[imageview1 setImage:nil];
[imageview2 setImage:nil];
etc...

答案 1 :(得分:0)

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

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

所以你应该尝试一下:

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

希望能帮到你