1

当我在 Interface Builder 中创建标签并将插座连接到 viewController 时,并将标签记录在 viewDidLoad 中,如下所示:

NSLog(@"label: %@",self.label);

它给了我一个(0,0,0,0)的框架。self.view 给了我一个大于 0 的大小。一个旧程序的标签也给了我一个大于 0 的大小。它会将文本记录在标签中,所以它是正确的。这是 Xcode 4.5 的变化吗?如何访问我在 Interface Builder 中设置的框架?

这是日志:

UILabel: 0x754e1b0; 帧 = (0 0; 0 0); text = '这是一个标签'; clipsToBounds = YES; 不透明=否;自动调整大小 = TM+BM;用户交互启用 = 否;层=...

4

2 回答 2

0

试试这个:

NSLog(@"Label Frame: %@",NSStringFromCGRect(self.label.frame));
于 2012-10-09T19:41:13.930 回答
0

通常框架布局在viewDidLoad. 在笔尖的情况下,这应该不是问题。您是否有机会使用 AutoLayout?

也请在 中记录相同的值viewWillAppear,这肯定会有正确的值。我通常viewWillLoad用来启动我的 UI 元素,并viewWillLoad正确放置它们。

于 2012-10-09T20:24:27.900 回答