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

标签 objective-c uitableview xib custom-cell 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 中的东西没有连接(在框架/布局方面)。

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

关于objective-c - 如何在 mainViewController.m 中调用 awakeFromNib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28288139/

相关文章:

objective-c - llvm 从不同范围内定义的两个本地结构定义中选择第一个(错误的)本地结构定义 : is that llvm's bug?

ios/objective-c : Key value coding for NSNumbers

iphone - 导航栏中的 UIButton,如 Tweetbot

ios - 将 MKMap 分解为图 block ——图 block 太小

ios - 如何在iOS中为LaunchScreen.xib背景设置线性渐变

ios - 如何搜索 PFObject UITableView

ios - 为什么元素会无缘无故停止显示?

ios - UICollectionView 重新排序

ios - 在 iOS 中使用 Storyboard中的 .xib 文件调用 ViewController 时遇到问题

swift - iOS8 Swift 无法使用 xib 创建 View Controller