Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改ios中添加到UITableview节标题的按钮图像_Ios_Objective C_Uitableview_Uibutton_Expandable Table - Fatal编程技术网

如何更改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];

    }