【发布时间】:2014-07-13 19:15:16
【问题描述】:
我创建了一个如下所示的视图控制器:
我希望两个顶部按钮与整个视图的左/右边缘之间始终有 20 个点。它们也应该始终具有相同的宽度。我已经为所有这些创建了约束,它完全按照我想要的方式工作。问题是垂直约束。按钮应始终位于顶部边缘下方 20 点处。它们应该具有相同的高度。但是,自动布局不考虑左侧标签需要两行才能容纳其所有文本,因此结果如下所示:
我希望它看起来像第一张图片。我不能为按钮添加恒定的高度限制,因为当应用程序在 iPad 上运行时,只需要一行,然后有额外的空间会很浪费。
在viewDidLoad 我试过这个:
- (void)viewDidLoad
{
[super viewDidLoad];
self.leftButton.titleLabel.preferredMaxLayoutWidth = (self.view.frame.size.width - 20.0 * 3) / 2.0;
self.rightButton.titleLabel.preferredMaxLayoutWidth = (self.view.frame.size.width - 20.0 * 3) / 2.0;
}
但这并没有改变任何东西。
问题:如何让自动布局尊重左键需要两行?
【问题讨论】:
-
这可能是因为您在左侧按钮上有“相同高度”约束。这将使其与其他按钮的高度相同,从而更改按钮内的内容大小
-
我试图移除“相同高度”的限制,但没有成功。
-
您是否尝试向标签添加 >= 约束以建立最小插入?
-
不,但我现在尝试了,但不幸的是它也没有工作。现在在 iPad 上,按钮是“双高”,我不希望它们如此。
标签: ios uibutton autolayout