Ios 选择UI按钮的状态
我在一个视图中有多个按钮,每个按钮都设置了标记值并调用了相同的函数,我的问题是,如果我选择了一个按钮,我需要取消选择其他按钮状态,或者你可以说我一次只能显示一个选中的按钮 我的代码Ios 选择UI按钮的状态,ios,objective-c,uibutton,Ios,Objective C,Uibutton,我在一个视图中有多个按钮,每个按钮都设置了标记值并调用了相同的函数,我的问题是,如果我选择了一个按钮,我需要取消选择其他按钮状态,或者你可以说我一次只能显示一个选中的按钮 我的代码 -(IBAction)checkOption:(id)sender { if([sender tag]==100) { //do stuff } if([sender tag]==101) { //do stuff } [self
-(IBAction)checkOption:(id)sender
{
if([sender tag]==100)
{
//do stuff
}
if([sender tag]==101)
{
//do stuff
}
[self performSelector:@selector(doHighlight:) withObject:sender afterDelay:0];
}
- (void)doHighlight:(UIButton*)b {
if ([b isSelected])
{
b.selected = NO;
b.alpha = 0.5;
} else {
b.selected = YES;
b.alpha = 1;
}
}
创建uibutton的实例以存储以前选择的按钮。当您选择一个当前按钮时,如果不是nil,请选中此实例,然后将其选定属性设置为NO,然后将当前按钮设置为上一个按钮。希望我能回答你的问题。与Amit的答案类似,但当按钮选择状态更改时,添加alpha更改
- (void)doHighlight:(UIButton*)clickBtn
{
NSArray *subviews = [clickBtn.superView subviews];
for (UIButton *subBtn in subviews){
if ([subBtn isKindOfClass:[UIButton class]]){
if (clickBtn == subBtn){
subBtn.selected = NO;
subBtn.alpha = 0.5;
} else {
subBtn.selected = YES;
subBtn.alpha = 1;
}
}
}
}
-(void)doHighlight:(UIButton*)b{if(prevButton){prevButton.selected=NO;}b.selected=yes;prevButton=b;}在您的ViewControllera中将prevButton声明为UIbutton是否为按钮
IBOutlets
?是按钮是IBOutlets down投票者如果您不知道objective-c,请回答或无理由拒绝投票
- (void)doHighlight:(UIButton*)clickBtn
{
NSArray *subviews = [clickBtn.superView subviews];
for (UIButton *subBtn in subviews){
if ([subBtn isKindOfClass:[UIButton class]]){
if (clickBtn == subBtn){
subBtn.selected = NO;
subBtn.alpha = 0.5;
} else {
subBtn.selected = YES;
subBtn.alpha = 1;
}
}
}
}