我正在使用故事板进行我的项目,并且我正在尝试实现自定义UITableViewCell
。
我想在自定义单元格中执行以下操作:
#import "CustomCell.h"
@implementation CustomCell
@synthesize myLabel, myButton;
- (instancetype)initWithCoder:(NSCoder *)decoder
{
if ((self = [super initWithCoder:decoder]))
{
//want to custom setup of properties placed in the cell
self.myButton.backgroundColor = [UIColor redColor];//this does NOT work
//and so forth...
}
return self;
}
但是没有设置背景颜色。它仅在我在tableViewController
的{{1}}函数中设置按钮的背景颜色时才有效,如下所示
cellForRowAtIndexPath
我通过设置断点和- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:@"CustomCell"];
MyObject *obj = self.myObjects[indexPath.row];
cell.myButton.backgroundColor = [UIColor redColor];//This works!
cell.myLabel.text = obj.name;
return cell;
}
尝试调试,NSLog
在initWithCoder
之前为每个单元调用?
但是当我在自定义单元格中设置时,单元格中按钮的背景颜色不会显示。
有任何帮助吗?
答案 0 :(得分:3)
尝试使用awakeFromNib
方法而不是initWithCoder:
来对单元格进行任何初始自定义。正如评论中所提到的,对于像控件的背景颜色这样的简单事物,你可以通过故事板在Xcode中做到这一点。