ios – 未调用自定义UITableVIewCell初始化

我有一些图像和标签的自定义UiTablleviewCell,我想在tableview单元格中旋转标签…所以我想编辑initWithStyle方法,但似乎从未调用过.

- (id)initWithStyle:(UITableViewCellStyle)stylereuseIdentifier:(NSString*)reuseIdentifier{
NSLog(@"creating cell");
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self)
{
}
return self;}

但在我的日志中,我看不到这条消息.在tableview中我有标准的cellForRow方法

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{    
    static NSString *simpleTableIdentifier = @"messagesCell";
    TBCellMessagesCell *cell = (TBCellMessagesCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    // smt stuff

    return cell;
}

所以我想知道tableview如何初始化tableviewcells,我可以考虑一些解决方法,但我想让它干净.

谢谢.

如果单元格来自故事板或nib文档,则不调用initWithStyle:reuseIdentifier,而是调用initWithCoder :.

这是覆盖的initWithCoder的典型实现::

-(id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
       // Do your custom initialization here
    }
    return self;
}

如果您需要在自定义初始化期间访问IBOutlet,则无法工作.

翻译自:https://stackoverflow.com/questions/20313611/custom-uitableviewcell-initialization-not-called