2012-03-30 22 views
1

Ich möchte einen Knopf drücken und zwischen zwei Bildern mit einem UIImageView wechseln.Ändern UIImageView mit Knopf

Gerade jetzt, wenn ich es ausführe, drücke ich den Knopf, das Bild ändert sich aber wird nicht zurück ändern. Was muss ich in diesem Aktionscode ändern, damit er sich ändert?

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

} 
+0

Sie meinen, wenn Sie einmal auf die Schaltfläche tippen, brauchen Sie ein Bild, und wenn Sie das zweite Mal tippen, brauchen Sie eine andere? – iNoob

Antwort

4

Try Code folgende:

- (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]; 
     } 
} 

Um auf die Schaltfläche klicken Sequenz Bild anzeigen.

.h Datei:

int counter; 

.m Datei:

in viewDidLoad initialisieren counter = 0

Dann

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

und geben Sie Ihr Bild Namen wie 1.png, 2.png, 3.png und so weiter ...

+0

Das hat wirklich gut funktioniert und war kurz, sauberer Code. Wenn ich ein drittes Bild hinzufügen würde, wie würde dieser Code aussehen? – sdlabs

+0

@sdlabs: Zuerst entscheiden, wie viele Bilder Sie anzeigen möchten? Ist das in Reihenfolge oder zufälliger Reihenfolge? – Devang

+0

Ich denke, Sequenz Reihenfolge wird gut sein für diese Übung zu beginnen. – sdlabs

1

Sie müssen ein Flag pflegen.

In Irgendwo bevor Sie die Taste tippen, weisen die Flagge

BOOL isFirstImageShown=YES; 

dann auf Button-Aktion

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

Das hat super funktioniert, danke für die schnelle Antwort! – sdlabs

0

Sie möchten, dass Sie ein anderes Bild auf die Schaltfläche klicken müssen Sie zuerst das Bild gesetzt haben Wenn Sie die Ansicht laden und dann auf klicken, klicken Sie auf.

+0

Es ist nicht die Lösung. – Devang