0

我有一个 UITableViewCell 子类,我需要有两个 UIColor 变量。我已经在标题中声明了它们,但是在实现中我会在哪里设置它们的值以便以后访问?

我需要一个类似的方法,viewDidLoad以便在单元加载时设置这些。我试过设置它们,initWithStyle但它没有用,因为我不使用它来创建我的单元格。

在我的视图控制器中,我将它们加载如下:

CustomCell *cell = [tv dequeueReusableCellWithIdentifier:cellIdentifier];

那么我应该在哪里设置这些变量呢?(我想尝试将它们保留在子类中。)

编辑

这是我的cellForRowAtIndexPath方法:

- (CustomCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"Cell";

    CustomCell *cell = [tv dequeueReusableCellWithIdentifier:cellIdentifier];
    if (cell == nil) cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];

    return cell;
}
4

2 回答 2

1

如果您使用的是故事板和原型,那么您的单元格将awakeFromNib在首次创建时调用它。你可以把你的代码放在这里。

initWithStyle:未调用,因为您的单元格是从笔尖加载的。它将initWithCoder:改为使用初始化。您也可以将代码放在那里,或者放在从那里调用的共享设置方法和 initWithStyle 中(如果您将来更改使用单元格的方式)。

于 2012-11-21T17:00:53.150 回答
0

initWithStyle 是 UITableViewCell 类的指定初始化程序,因此您必须使用该方法来初始化 UITableViewCell。仅当您已初始化单元格并且有可用于出列的单元格时,出队才有效。

如果单元格为零,您可以看到您分配和初始化的代码。

于 2012-11-21T16:46:58.077 回答