1

我想在初始化我的自定义 UITableViewCell(来自 xib 文件)时动态更改一些东西(隐藏 UITextView,更改字体颜色),但不调用 initWithStyle 选择器。

我的代码如下:

目标表单元格.h

@interface GoalTableCell : UITableViewCell

  @property (strong, nonatomic) IBOutlet UILabel *fixedText;

  @property (strong, nonatomic) IBOutlet UITextView *editableText;

  @property (strong, nonatomic) IBOutlet UIImageView *imageCircle;

@end

目标表单元格.m

@implementation GoalTableCell

- (void) setup
{
  self.editableText.hidden = TRUE;
}

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
  if( self = [super initWithStyle:style reuseIdentifier:reuseIdentifier] ) {
    [self setup];
  }

  return self;
}

@end
4

1 回答 1

3

当从 NIB 文件中取消归档任何实例时,“initWithCoder: method will be called because the archived properties are provided to the instance via thedecoder”参数。

当从 NIB 加载实例时,awakeFromNib也会调用该方法。

initWithCoder: is called to create the instance.awakeFromNib` 在实例从 NIB 完全取消归档(连接出口)后调用。

于 2013-07-15T22:21:45.630 回答