2013-03-06 50 views
12

我试图使用UITableViewCell的自定义子类,其样式设置为UITableViewCellStyleSubtitle,并将其与registerClass:forCellReuseIdentifier:一起使用。但是,我不知道如何做到这一点。注册一个UITableViewCell重用时,该单元的哪个init方法被调用?

我的想法是覆盖init方法中调用它

self = [super initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:myReuseIdentifier]; 

。然而,我不知道哪个init方法被调用(或者如果这是甚至正确的方式做到这一点)。

我试图拦截所有以下init方法,但他们都没有似乎是出队的小区时正确的一个:

  • init
  • initWithCoder
  • initWithFrame

我已经确认dequeueReusableCellWithIdentifier:forIndexPath:正在返回正确类型的单元格,所以我知道它正在创建。我只是不知道哪个init方法被调用,所以我不能设置默认样式。

回答

31

我相信它调用initWithStyle:reuseIdentifier:用于表格单元格init。

从苹果文档

dequeueReusableCellWithIdentifier:reuseIdentifier:方法

如果您注册了指定的标识符和新小区的类必须创建,该方法通过调用其initWithStyle初始化细胞。对于基于笔尖的单元格,此方法从提供的nib文件加载单元格对象。如果现有单元可供重用,则此方法将调用单元的prepareForReuse方法。

Ĵ

+0

是啊,找到了我贴了上去。将您的标记作为良好的S/O公民身份的答案。 – MarqueIV 2013-03-06 04:57:32

相关问题