4

我有一个包含自定义单元格的 xib 文件。我正在尝试访问在customCell.m.

这是我的代码:

customCell.m

- (void)awakeFromNib
{
    self.label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 50, 200)];
    [self.label setText:@"This is a label"];
    [self.myView addSubview:self.label];

    NSLog(@"%f", self.label.frame.size.height);  // Results: 200.0000
}

mainViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    customCell *cellVC = [[cutsomCell alloc] init];

    NSLog(@"%f, %f", cellVC.label.frame.size.height); // Results: 0.0000
}
4

2 回答 2

2

awakeFromNib 在设置所有文件所有者的出口和属性时被调用。viewDidLoad 中没有连接(就帧/布局而言)。

awakeFromNib 在 vi​​ewDidLoad 之后调用,这就是您看到差异的原因。

于 2015-02-02T22:49:28.107 回答
0

抱歉,这不起作用。您正在通过代码中的 alloc/init 创建 customCell。仅对 nib 文件中定义的对象调用 AwakeFromNib。

您可能需要在单独的 nib 文件中定义您的 customCell,并通过+ (BOOL)loadNibNamed:(NSString *)aNibName owner:(id)owner或类似方式加载该 nib 文件。

于 2015-02-02T22:59:38.693 回答