如何更改ios中添加到UITableview节标题的按钮图像
这是我的密码如何更改ios中添加到UITableview节标题的按钮图像,ios,objective-c,uitableview,uibutton,expandable-table,Ios,Objective C,Uitableview,Uibutton,Expandable Table,这是我的密码 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setImage:[UIImage imageNamed:@"Add_plus_iCon_iphone_4s"] forState:UIC
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"Add_plus_iCon_iphone_4s"] forState:UIControlStateNormal];
button.frame = CGRectMake(sectionView.frame.size.width-10, 10, 20, 20);
[button addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside];
[sectionView addSubview:button];
}
- (void)btnAction:(UIButton *)sender
{
int i = [sender.titleLabel.text intValue];
NSNumber *numb;
if(i == 0)
{
numb = [NSNumber numberWithBool:NO];
sender.titleLabel.text = @"1";
[sender setImage:[UIImage imageNamed:@"Add_minus_iCon_iphone_4s"] forState:UIControlStateNormal];
[sender setImage:[UIImage imageNamed:@"Add_plus_iCon_iphone_4s"] forState:UIControlStateHighlighted];
}
else
{
numb = [NSNumber numberWithBool:YES];
sender.titleLabel.text = @"0";
[sender setImage:[UIImage imageNamed:@"Add_plus_iCon_iphone_4s"] forState:UIControlStateNormal];
[sender setImage:[UIImage imageNamed:@"Add_minus_iCon_iphone_4s"] forState:UIControlStateHighlighted];
}
}
每次加载页眉时都会创建UIButton,这会导致按钮重置, 一种方法是在storyborad或xib中设计单元并使用参考, 还有一个数据源来跟踪值 e、 g
首先在ViewDidLoad中为两种状态(UIControlStateNormal、UIControlStateSelected)设置按钮的图像,然后执行[cell.btSelectSetSelected:YES];或[cell.btselect setSelected:NO];按照要求
否则,点击按钮时更改uicontrol状态正常的图像。使用数组并跟踪更改的值,并像对单元格那样进行相应分配。您能建议如何以正确的格式发布代码吗..提前感谢
if([dataSouce containsObject:yourItem]){
//selected button image
[cell.btnSelect setSelected:YES];
}
else{
//unselected button image
[cell.btnSelect setSelected:NO];
}