我正在尝试学习自动布局,但却卡在了一个点上。
这就是我想要实现的,我有一个自定义的tableView单元格,其中我有一个imageView和3个标签和一个按钮。

我试着改变他们的抗压优先级和拥抱优先级,但失败了。那么有没有人可以指导我怎么做呢?
发布于 2017-01-20 01:01:44
如果您使标签固定大小(numberOfLines != 0),它们将自动显示...如果文本内容不适合。
要构建视图布局,请看新的(从iOS 9开始) UIStackView,它允许堆叠视图并管理视图的自动布局。
满足您的需求的一种可能方法是在UIStackView中包含这三个标签。然后使用自动布局约束来排列UIStackView、按钮和图像。您的其中一个约束应该使UIStackView具有固定的宽度和/或高度,以便您可以控制标签的大小:
使用可视化语言: H:myStackView(==280)或
theView.addConstraint(NSLayoutConstraint(item: myStackView, attribute: NSLayoutAttribute.width, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.width, multiplier: 1, constant: 280))下面是以编程方式创建UIStackView的示例代码以及指向苹果文档的链接:https://developer.apple.com/reference/uikit/uistackview
示例代码有两个水平堆叠的标签,居中,大小相等,由40个标签隔开。您将希望垂直堆叠标签。
let stackView = UIStackView(arrangedSubviews: [negativeResponseButton, positiveResponseButton])
stackView.axis = .horizontal
stackView.distribution = .fillEqually
stackView.alignment = .center
stackView.spacing = 40https://stackoverflow.com/questions/41736362
复制相似问题