【发布时间】:2015-02-03 00:10:32
【问题描述】:
我以编程方式在 xib 文件中创建了一个 UILable - awakeFromNib 类,我试图在 mainViewController.m 中获取标签高度。我尝试使用 NSBundle 加载 xib 文件,但没有成功。还有其他方法我应该加载它吗?我需要在viewDidLoad 中致电awakFromNib。
这是我的代码:
- (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.
[[[NSBundle mainBundle] loadNibNamed:@"customCell" owner:self options:nil]objectAtIndex:0];
customCell *cellVC = [[cutsomCell alloc] init];
NSLog(@"%f", cellVC.label.frame.size.height); // Results: 0.0000
}
我需要NSLog 来显示200,而不是0。
【问题讨论】:
-
customCell 是什么的子类?
-
customCell 链接到一个 xib 文件,其中包含一个单元格
-
在 customCell.h 中它从 UIView 继承了什么?
-
UIView 是我在 xib/storyboard 文件中创建的一个对象。然后我创建了一个 IBOutlet,将其命名为 myView
-
如果您将 cellVC 作为子项添加到您的 mainViewController 中,此标签会显示吗?
标签: ios objective-c xib awakefromnib