objective-c – 如何在mainViewController.m中调用awakeFromNib

我有一个包含自定义单元格的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
}

最佳答案 设置所有文件所有者出口和属性时,将调用awakeFromNib.在viewDidLoad中,事物没有连线(在帧/布局方面).

在viewDidLoad之后调用awakeFromNib,这就是你看到差异的原因.

点赞