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 に答える