【发布时间】:2015-09-10 08:33:32
【问题描述】:
使用自动布局我想了解为什么会发生以下情况:创建一个简单的 UIButton 并设置其标题。但是,即使我希望设置视图的内在内容大小并因此正确获取其框架 - 按钮的框架正在显示 (0, 0, 0, 0)。我该怎么做才能获得按钮的框架值?
-(void)viewDidLoad {
[super viewDidLoad];
UIButton *button = [[UIButton alloc] init];
[button.titleLabel setText:@"My button"];
//button frame is zero
}
但是,如果我要这样做,那么事情就会按预期进行:
-(void)viewDidLoad {
[super viewDidLoad];
UILabel *label = [[UILabel alloc] init];
[label setText:@"My label"];
[label sizeToFit];
//label frame has the expected width and height
}
【问题讨论】:
-
你没有设置大小那么它总是为零。!!
-
我没有设置尺寸,因为我使用的是自动布局。通过上面的代码 - 我希望有一个标题为“我的按钮”的按钮填充其内容。
-
在自动布局中你必须设置约束
-
好像少了[self.view addSubview:label],不加的话自动布局引擎中的计算不会通过
标签: ios objective-c uibutton autolayout