更改UITableView自定义标题视图的按钮图像不起作用

时间:2015-10-10 03:04:46

标签: ios objective-c uitableview

我使用nib文件创建了一个UIView。并将其设置为表视图标题视图。在这个视图中我有一个按钮。我试图更改按钮的图像,但没有任何变化。

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    if (section == 0) {
        HealthPlanHeaderView *view = (HealthPlanHeaderView *)[[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([HealthPlanHeaderView class]) owner:self options:nil] firstObject];
        [view.addButton addTarget:self action:@selector(editFood) forControlEvents:UIControlEventTouchUpInside];
        self.healthPlanHeaderView = view;
        return view;
    }else {
        return nil;
    }
}

- (void)editFood {
    self.healthEditing = !self.healthEditing;
    UIImage *image = self.healthEditing ? [UIImage imageNamed:@"finish"] : [UIImage imageNamed:@"edit-button"];
    [self.healthPlanHeaderView.addButton setImage:image forState:UIControlStateNormal];
}

我注意到按钮图像确实设置了,但按钮不会显示新设置的图像,它保持不变。

1 个答案:

答案 0 :(得分:1)

也许,你只需要调用tableView的reloadData来刷新它。