1

我需要制作一个自定义 UITableViewCell,所以我创建了一个带有关联 nib 文件的子类。

我需要向它添加一些子视图。使用 nib 文件时,awakeFromNib 会替换 initWithFrame 吗?我[[NSBundle mainBundle] loadNibNamed:在我的cellForRowAtIndexPath方法中使用。

我像这样使用 initWithFrame 吗?

- (id)initWithFrame:(CGRect)frame
{
    if ((self = [super initWithFrame:frame]))
    {
        self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 100, 320)]

        [self addSubview:self.horizontalTableView];
    }

    return self;
}

还是我像这样在 awakeFromNib 中这样做

- (void)awakeFromNib
{
   self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 100, 320)]

            [self addSubview:self.horizontalTableView];
}
4

1 回答 1

2

创建 Xib 时,不会使用 initWithFrame。但是,将使用 initWithCoder。因此,您可以在其中进行额外的实例化。但是,在 awakeFromNib 中初始化其他控件也没有错。

编辑:针对您在下面的第一条评论,请查看此相关问题:

我应该在这里使用 awakeFromNib 还是 initWithCoder ?

于 2014-07-08T01:47:03.487 回答