gpt4 book ai didi

ios - 如何在 uitableview 单元格上创建两个单选按钮

转载 作者:行者123 更新时间:2023-11-29 12:16:46 26 4
gpt4 key购买 nike

我在一个表格 View 单元格上创建了​​两个单选按钮。这是一个问题的选项,但是当我选择它们时,它们都被选中了我不想要的,我只想选择其中一个,但我没有能够做到......请帮助我 这是我的 customCell 代码

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"cell";
customCell *cell = (customCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"customCell" owner:self options:nil];
cell = [nib objectAtIndex:0];

}

leftBtnclick = [UIButton buttonWithType:UIButtonTypeCustom];
[leftBtnclick setTag:0];
[leftBtnclick setImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateNormal];
[leftBtnclick setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected];
[leftBtnclick setFrame:CGRectMake(50, 120, 30, 30)];
[leftBtnclick addTarget:self action:@selector(leftTickBtnClicked:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:leftBtnclick];

rightBtnclick = [UIButton buttonWithType:UIButtonTypeCustom];
[leftBtnclick setTag:1];
[rightBtnclick setImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateNormal];
[rightBtnclick setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected];
[rightBtnclick setFrame:CGRectMake(180, 120, 30, 30)];
[rightBtnclick addTarget:self action:@selector(rightTickBtnClicked:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:rightBtnclick];


cell.numberLbl.text = [numberArray objectAtIndex:indexPath.row];
return cell;
}


-(void)leftTickBtnClicked:(id)sender
{
if ([leftBtnclick isSelected]) {
[sender setImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateNormal];

else
{
[sender setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];

}



}

-(void)rightTickBtnClicked:(id)sender
{
if ([sender isSelected])
{
[sender setImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateNormal];
}
else
{
[sender setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
}



}

最佳答案

首先,设置leftBtnclick.tag=999rightBtnclick.tag=1000

然后添加这段代码:-

-(void)leftTickBtnClicked:(id)sender
{
UIButton *leftTickBtn=(UIButton *)sender;
leftTickBtn.selected=!leftTickBtn.selected;
for(UIView *vw in [[sender superview]subviews])
{
if([vw isKindOfClass:[UIButton class]] && vw.tag==1000)
{
UIButton *rightTickBtn=(UIButton *)vw;

if(leftTickBtn.selected)
{
rightTickBtn.selected=NO;
}
else
{
rightTickBtn.selected=YES;
}

}
}

}
-(void)rightTickBtnClicked:(id)sender
{

UIButton *rightTickBtn=(UIButton *)sender;
rightTickBtn.selected=!rightTickBtn.selected;


for(UIView *vw in [[sender superview]subviews])
{
if([vw isKindOfClass:[UIButton class]] && vw.tag==999)
{
UIButton *leftTickBtn=(UIButton *)vw;

if(rightTickBtn.selected)
{
leftTickBtn.selected=NO;
}
else
{
leftTickBtn.selected=YES;
}

}
}


}

关于ios - 如何在 uitableview 单元格上创建两个单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31810547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com