2011-01-03 6 views
0

In meiner iphone APP habe ich Reihe Knöpfe, die dynamisch gestützt auf Benutzerauswahl erzeugt werden.Wie man dynamisch erzeugten Knopf auf Auswahl unterscheidet ... unter Verwendung des iPhone SDKs

Wie kann ich ausgewählte Schaltflächen von anderen unterscheiden?

Ich möchte, dass, wenn Benutzer die andere Schaltfläche auswählen, die zuvor ausgewählte Schaltfläche sollte in seinen normalen Zustand in Bezug auf sein Aussehen zurückgehen. Ich kann die zuvor ausgewählten Tasten nicht in den Normalzustand zurückversetzen.

Wie kann ich das tun?

Bitte helfen und vorschlagen.

Antwort

1

Sie haben eine Reihe von Schaltflächen. Sie können Ihr Array durchlaufen und prüfen, ob es das ist, auf das geklickt wurde.

- (IBAction) buttonClicked:(id)sender { 
    for(int i; i < [array count]; i++){ 
    if((UIButton *)sender == (UIButton *)[array objectAtIndex:i]) 
     //do something 
    else 
     //do something else 
} 

So ähnlich.

+0

Vielen Dank :) –

0

Sie können Schleife durch Ihre Subviews und stellen für alle alten Stil:

- (void)highlightImgWithID:(int)packID { 
    [self.view.subviews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 
     if ([obj isKindOfClass:[UIImageView class]]) { 
      [(UIImageView*)obj setHighlighted:([obj tag] == IDtoSelectNext)]; 
     } 
    }]; 
} 

Die Probe ist, wie ich implementieren es zur Zeit in meiner App mit UIImageView ‚s Sie es ändern können mit den Tasten zu arbeiten.

+0

vergessen zu sagen, dass ich den Tag woanders verwende, so konnte ich nicht das Tag als Bezeichner verwenden, die man ausgewählt ist –

1

Try Tag für jede Taste einstellen, mit

yourButton.tag=intValue; //intValue>0 

Ihre buttonAction sollte wie folgt lauten,

-(IBAction)buttonAction:(id)sender 

Speichern Sie die zuvor ausgewählten Tag und dementsprechend den Wert ändern.

3

Verwenden Sie das Tag, um die Schaltfläche zu identifizieren. Zum Zeitpunkt der Erstellung von Schaltflächen können Sie der Schaltfläche ein Tag als Nummer zuweisen und diese zur Identifizierung verwenden.

yourButton.tag = intZahl;

Verwandte Themen