2017-08-02 2 views
0

Ich arbeite mit Radiobuttons, dafür schreibe ich Code wie diesen.Wie ändere ich ein Bild, wenn wir auf eine Schaltfläche klicken?

float x = 40; 
float y = 0; 
for (int i=0; i<self.radioBtnTagArr.count; i++) { 

     self.radioButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
     self.radioButton.frame = CGRectMake(x, y+35, 35.0, 35.0); 
     [self.radioButton setImage:[UIImage imageNamed:@"radio_empty.png"] forState:UIControlStateNormal]; 
     [self.radioButton addTarget:self action:@selector(radioBtnMethod:) forControlEvents:UIControlEventTouchUpInside]; 
     [self.scrollView addSubview:self.radioButton]; 
     self.radioButton.tag = [[self.radioBtnTagArr objectAtIndex:i] intValue]; 

     y = y+70; 

    } 

Dieses "self.radioBtnTagArr" kommt aus dem Server (Tags vom Server kommt), auf der Grundlage dieser Zählung i Radiobuttons erstellen möchten, und ich bin zuweisen Tag, die Radio-Buttons Schlagwörter.

- (void) radioBtnMethod:(UIButton *)sender { 

for (int i=0; i<self.radioBtnTagArr.count; i++) { 

    if (sender.tag == [[self.radioBtnTagArr objectAtIndex:i] intValue]) { 

     [self.radioButton setImage:[UIImage imageNamed:@"radio.png"] forState:UIControlStateSelected]; 

     [self.radioButton setSelected:YES]; 

    } 

} 
} 

Nun das Problem ist, wenn ich das erste Optionsfeld die letzte Optionsfeld wie dieses Bild unten ... Ich will nur

Radio button image

ausgewählt wurde klicken, wenn wir zuerst Taste ersten Schaltflächenzustand- klicken ausgewählt, wenn wir auf die zweite Schaltfläche klicken, wird der zweite Schaltflächenstatus wie folgt ausgewählt ...

+0

Sie können meine Antwort hier überprüfen https://stackoverflow.com/questions/44618690/dynamic-radio-buttons-uitableview-custom-cell-ios/44632164#44632164 – vp2698

Antwort

1

erstellen Sie ein weiteres Array zum Speichern der UI-Schaltfläche, z. B.

Step-1

@property (nonatomic, strong) NSMutableArray *buttonArray; 

Schritt-2

fügen die alle Tasten

// allocate the memory for your array 
    buttonArray = [NSMutableArray array]; 

for (int i=0; i<self.radioBtnTagArr.count; i++) { 
     // create instance value of UIButton 
     UIButton *radioButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
     radioButton.frame = CGRectMake(x, y+35, 35.0, 35.0); 
     [radioButton setImage:[UIImage imageNamed:@"radio_empty.png"] forState:UIControlStateNormal]; 
     [radioButton addTarget:self action:@selector(radioBtnMethod:) forControlEvents:UIControlEventTouchUpInside]; 
     [self.scrollView addSubview:self.radioButton]; 

     y = y+70; 
     // add the object to array 
     [buttonArray addObject:radioButton]; 

    } 

Schritt-3

innerhalb des Ziel

01 bis buttonArray
- (void) radioBtnMethod:(UIButton *)sender { 

    // reset the previous selection 
    for (UIButton *getradioButton in buttonArray) { 
     [getradioButton setImage:[UIImage imageNamed:@"radio_empty.png"] forState:UIControlStateNormal]; 
} 
    // set the current selection 
    [sender setImage:[UIImage imageNamed:@"radio.png"] forState:UIControlStateNormal]; 

} 
+0

Ja, es funktioniert thank u bro .. .. – iOS

+0

@iOSDeveloper - willkommen bro –

+0

@ Anbu.Karthik https://StackOverflow.com/Questions/45453747/Parsing-Array-of-Json-Inside-Object-in-Swift –

Verwandte Themen