自定义UITableVIewCell初始化未调用

 长风剑客2502852893 发布于 2023-02-13 15:55

我有一些图像和标签的自定义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,我可以考虑一些解决方法,但我想让它干净.谢谢.

2 个回答
  • 如果您需要与IBOutlet交谈,您可能还会考虑使用awakeFromNib方法.

    讨论
    nib-loading基础结构将awakeFromNib消息发送到从nib归档重新创建的每个对象,但仅在归档中的所有对象都已加载并初始化之后.当一个对象收到一个awakeFromNib消息时,它保证已经建立了所有的插座和动作连接.

    2023-02-13 15:57 回答
  • 如果单元格来自故事板或nib文件,则initWithStyle:reuseIdentifier不会调用,initWithCoder:而是调用.

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

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

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

    2023-02-13 15:57 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有