0

我有一个 CustomTableView 单元,它有一个附件视图。如何动态更改附件视图的图像?

4

4 回答 4

2

使用您的自定义按钮进行附件视图,例如..

// 将铅笔图标粘贴在附件视图上

UIButton* pencil = [UIButton buttonWithType:UIButtonTypeCustom];
[pencil setImage:[UIImage imageNamed:@"icon-pencil.gif"] forState:UIControlStateNormal];
pencil.frame = CGRectMake(0, 0, 15, 15);
pencil.userInteractionEnabled = YES;
[pencil addTarget:self action:@selector(didTapEditButton:)      forControlEvents:UIControlEventTouchDown];
cell.accessoryView = pencil; 
于 2012-11-05T16:04:19.893 回答
0

除了 textColor 和 detailTextColor 之外的单元格的修改应该在willDisplayCell:方法而不是cellForRowAtIndexPath方法中完成,您的问题的解决方案如下 -

 -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cellforIndexPath:(NSIndexPath *)indexPath
{
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    [btn setImage:[UIImage imageName:@"image.png" forControlState:UIControlStateNormal];
    btn.frame = CGRectMake(0,0,28,28) ;

    cell.accessoryView = btn ;

}

这段代码肯定会工作!

于 2013-03-07T07:14:14.407 回答
0

在自定义单元格的 init 方法中,您可以执行以下操作(假设 ARC btw):

UIImage *customBtnImg = [UIImage imageNamed:@"custom_btn"];
UIButton *customBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, customBtnImg.size.width, customBtnImg.size.height)];
customBtn.backgroundColor = [UIColor clearColor];
[customBtn setBackgroundImage:customBtnImg forState:UIControlStateNormal];
self.accessoryView = customBtn;
于 2012-11-05T16:37:23.980 回答
0

不要使用附件视图,只需放置另一个 imageView 并相应更改

于 2012-11-05T16:02:12.500 回答