我正在尝试使用我的应用程序为其多个表视图中的每个单元格使用的自定义样式创建UITableViewCell的子类。我正在为iOS 7.1构建这个。出于某种原因,在initWithStyle
中设置样式似乎没有效果。
我的代码:
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
[self.textLabel setTextColor:[UIColor redColor]];
[self.contentView setBackgroundColor:[UIColor greenColor]];
}
return self;
}
在我的故事板中,我已将UITableViewController
中的单元格类设置为MYSubTableViewCell
。我将表格视图单元格样式设置为基本,我也将其设置为自定义,这没有任何效果。
在MyTableViewController.m
:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
MYSubTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
return cell;
}
我需要具有预定义背景和文本的单元格,这是正确的方法吗?
答案 0 :(得分:1)
问题是,当您从故事板中实例化您的单元格时,该单元格未使用- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
进行初始化。它使用- (id)initWithCoder:(NSCoder *)aDecoder
初始化。
永远不会调用您的初始值设定项。您应该改为覆盖initWithCoder:
。