如何使用自动布局以下列方式布局两个标签?

问题描述 投票:-1回答:1

我有两个标签,如果它们的总宽度不太​​大,则应该像下图一样位于一行中。 (小于屏幕宽度)。enter image description here

或者它们应该放在两行中。 (它们不能排成一行)。

enter image description here

是否可以在没有动态计算标签宽度的情况下实现,而仅使用自动版式?

提前感谢。

ios swift autolayout
1个回答
0
投票

[更好的方法是,可以将UIStackview与水平或垂直对齐使用

private static let dynamicLabel1: UILabel = {
        let label = UILabel()
        label.textAlignment = .center
        label.numberOfLines = 0
        label.translatesAutoresizingMaskIntoConstraints = false
        label.textColor = .black
        return label
    }()

private static let dynamicLabel2: UILabel = {
            let label = UILabel()
            label.textAlignment = .center
            label.numberOfLines = 0
            label.translatesAutoresizingMaskIntoConstraints = false
            label.textColor = .black
            return label
        }()

fun addStackview() {
     let stackView = UIStackView()
     stackView.axis = .vertical
     stackView.distribution = .fill
     stackView.spacing = 2
     stackView.translatesAutoresizingMaskIntoConstraints = false
     stackView.addArrangedSubview(dynamicLabel1)
     stackView.addArrangedSubview(dynamicLabel2)
}
© www.soinside.com 2019 - 2024. All rights reserved.