2017-08-02 120 views
0

我正在使用单选按钮,为此我正在编写这样的代码。当我们点击一​​个按钮时如何改变图像?

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; 

    } 

这种“self.radioBtnTagArr”来自服务器(标记来自服务器),根据该计数我想创建单选按钮和我指定标签是标签,以单选按钮。

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

    } 

} 
} 

现在的问题是,当我点击第一个单选按钮的最后一个单选按钮被选中这样下面的图片...

Radio button image

我想只有当我们点击第一个按钮,第一个按钮状态选择,如果我们点击第二个按钮第二个按钮状态选择像这样...

+0

你可以在这里https://stackoverflow.com/questions/44618690/dynamic-radio-buttons-uitableview-custom-cell-ios/44632164#44632164 – vp2698

回答

1

确实像创建另一个数组保存UIbutton,例如

步骤-1

@property (nonatomic, strong) NSMutableArray *buttonArray; 

步骤-2

添加所有按钮buttonArray

// 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]; 

    } 

步骤-3

目标内部

- (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

检查我的回答是,它的工作感谢ü老兄.. .. – iOS

+0

@iOSDeveloper - 欢迎兄弟 –

+0

@ Anbu.Karthik https://stackoverflow.com/questions/45453747/parsing-array-of-json-inside-object-in-swift –

相关问题