这是我正在使用的代码,selectindex是BOOL
if(!selectindex)
{
click.backgroundColor=[UIColor colorFromHexString:@"#ffc400"];
selectindex=YES;
}
else
{
click.backgroundColor=[UIColor grayColor];
selectindex=NO;
}
我的问题是,当用户正确选择我的按钮时,它会更改颜色;当用户尝试选择另一个按钮时,它会继续使用先前的bool值。
->我的要求是,当用户单击按钮时,颜色必须更改。
->其次,当用户选择相同的按钮时,颜色必须更改。
->放置在tableview内部的按钮每个按钮都有标签,我试图使用标签值进行更改但失败了。任何人都可以帮助我....
第三方Tableview标头部分:
- (UIView *)mTableView:(TQMultistageTableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *viewHeader=[[UIView alloc]initWithFrame:CGRectMake(0, 0, tableView.frame.size.width,tableView.frame.size.height)];
UIButton *btnClick;
lblHead=[[UILabel alloc]initWithFrame:CGRectMake(50,3,150, 50)];
btnClick=[[UIButton alloc]initWithFrame:CGRectMake(0,10,30, 30)];
[btnClick addTarget:self action:@selector(touchup:) forControlEvents:UIControlEventTouchUpInside];
btnClick.clipsToBounds = YES;
btnClick.layer.masksToBounds=YES;
btnClick.layer.cornerRadius=btnClick.frame.size.height/2;
[btnClick setImage:[UIImage imageNamed:@"right.png"] forState:UIControlStateNormal];
btnClick.backgroundColor=[UIColor grayColor];
btnClick.tag=section;
[viewHeader addSubview:btnClick];
return viewHeader;
}
首先选择索引->否。
当用户选择按钮颜色时更改。
现在selectIndex的值为yes;当用户尝试选择另一个按钮时,selectIndex值将继续为true。因此,当用户第二次单击该按钮时,其颜色已更改。请注意,按钮选择应为多个:
最后我找到了答案,谢谢您的回复。
-(void)touchup:(UIButton*)click
{
if(click.selected==NO)
{
click.backgroundColor=[UIColor colorFromHexString:@"#ffc400"];
click.selected=YES;
}
else
{
click.backgroundColor=[UIColor grayColor];
click.selected=NO;
}
}
所选的默认状态为“否”。
@property(nonatomic,getter=isSelected) BOOL selected; // default is NO may be used by some subclasses or by application
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句