我有一个包含自定义单元格的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
}
答案 0 :(得分:2)
在设置所有文件所有者出口和属性时调用awakeFromNib。在viewDidLoad中,事物没有连线(在帧/布局方面)。
在viewDidLoad之后调用awakeFromNib,这就是你看到差异的原因。
答案 1 :(得分:0)
抱歉,这不起作用。您正在通过代码中的alloc / init创建customCell。仅为nib文件中定义的对象调用AwakeFromNib。
您可能需要在单独的nib文件中定义customCell,并通过+ (BOOL)loadNibNamed:(NSString *)aNibName owner:(id)owner
或类似文件加载该nib文件。