使用按钮更改UIImageView

问题描述:

我想按下一个按钮并使用一个UIImageView在两个图像之间切换。使用按钮更改UIImageView

现在,当我运行它,我按下按钮,图像改变,但不会改回来。我需要在此操作代码中更改以使其交替使用?

- (IBAction)Change:(id)sender { 
    image.image = [UIImage imageNamed:@"car.png"]; 

} 
+0

你的意思是,如果你点击按钮,一旦你需要一个图像,当你第二次点击它,你需要一个不同的? – iNoob 2012-03-30 05:29:30

尝试下面的代码:

- (IBAction)Change:(id)sender { 

     if ([sender isSelected]) 
     { 
      imageView.image = [UIImage imageNamed:@"car.png"]; 
      [sender setSelected:NO]; 
     } 
     else 
     {  
      imageView.image = [UIImage imageNamed:@"bike.png"]; 
      [sender setSelected:YES]; 
     } 
} 

要在点击按钮显示顺序的图像。

.h文件:

int counter; 

.m文件:

viewDidLoad初始化counter = 0

然后

- (IBAction)Change:(id)sender { 
    counter++; 
    imgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png",counter]]; 
} 

,让您的形象名称,如1.png2.png3.png等等......

+0

工作得很好,代码简洁,干净。如果我要为此添加第三个图像,该代码将如何显示? – sdlabs 2012-03-30 05:51:03

+0

@sdlabs:首先决定要显示多少张图片?那是按顺序还是随机顺序? – Devang 2012-03-30 05:54:20

+0

我想序列顺序对于这个练习来说是很好的开始。 – sdlabs 2012-03-30 05:55:39

你必须保持一个标志。

在某处轻点按钮之前,分配标志

BOOL isFirstImageShown=YES; 

然后在您的按钮操作

- (IBAction)Change:(id)sender { 
    if(isFirstImageShown) 
    { 
     isFirstImageShown=NO; 
     yourImageView.image = [UIImage imageNamed:@"yourSecondImage.png"]; 
    } 
    else 
    { 
    isFirstImageShown=YES; 
    yourImageView.image = [UIImage imageNamed:@"yourFirstImage.png"]; 
    } 
} 
+0

工作真棒,感谢您的快速反应! – sdlabs 2012-03-30 05:37:36

你想要的按钮点击你需要另一幅图像,你必须首先设置图像当你加载视图然后点击按钮时。

+0

这不是解决方案。 – Devang 2012-03-30 05:40:25