Я добавил три кнопки UIB с фоновым изображением в качестве изображения, не отмеченного переключателем, в каждой ячейке UITableView, и когда кто-нибудь щелкнет по нему, изображение кнопок изменится на изображение с проверенным переключателем, но проблема заключается в том, что при прокрутке UITableView изображения отмеченных кнопок очищаются, пока я прокручиваю.
Может кто-нибудь, пожалуйста, дайте мне любую идею ..!
Это код, в котором я объявил UIButtons
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
static NSString *CellSetup = @"CellSetup";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellSetup] autorelease];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.tag=[indexPath row];
myButton = [[UIButton alloc]initWithFrame:CGRectMake(20, 20, 20, 20)];
[myButton setImage:[UIImage imageNamed:@"radiounselect.png"] forState:UIControlStateNormal];
[myButton addTarget:self action:@selector(selectRadioButon:) forControlEvents:UIControlEventTouchUpInside];
myButton.tag = ++tagCount;
[cell.contentView addSubview:myButton];
tagCount++;
myButton2 = [[UIButton alloc]initWithFrame:CGRectMake(80, 20, 20, 20)];
[myButton2 setImage:[UIImage imageNamed:@"radiounselect.png"] forState:UIControlStateNormal];
[myButton2 addTarget:self action:@selector(selectRadioButon:) forControlEvents:UIControlEventTouchUpInside];
myButton2.tag = tagCount;
[cell.contentView addSubview:myButton2];
tagCount++;
myButton3 = [[UIButton alloc]initWithFrame:CGRectMake(140, 20, 20, 20)];
[myButton3 setImage:[UIImage imageNamed:@"radiounselect.png"] forState:UIControlStateNormal];
[myButton3 addTarget:self action:@selector(selectRadioButon:) forControlEvents:UIControlEventTouchUpInside];
myButton3.tag = tagCount;
[cell.contentView addSubview:myButton3];
return cell;}
- (void) selectRadioButon: (id) отправитель {
btnTag = [sender tag];
NSArray *arr = self.view.subviews;
UITableView *tblCell = [arr objectAtIndex:0];
NSArray *cellAry = tblCell.subviews;
for (int i = 0; i <[cellAry count]; i++) {
UITableViewCell *content = [cellAry objectAtIndex:i];
NSArray *contentAry = content.contentView.subviews;
for (int j = 0; j <[contentAry count]; j++) {
UIButton *button = [contentAry objectAtIndex:j];
if (btnTag == button.tag) {
for (int k = 0; k <[contentAry count]; k++) {
UIButton *button = [contentAry objectAtIndex:k];
if (btnTag == button.tag) {
[button setImage:[UIImage imageNamed:@"radioselect.png"] forState:UIControlStateNormal];
}
else
[button setImage:[UIImage imageNamed:@"radiounselect.png"] forState:UIControlStateNormal];
}
return;
}
}
}