在堆栈视图的UIView中居中放置UILabel

时间:2018-11-21 09:27:09

标签: ios uilabel uistackview

我在情节提要中安排了一个水平堆栈视图。至于堆栈视图的视图,由于堆栈视图内部的视图数是动态的,因此可以通过编程方式完成。我将堆栈视图设置为“均等填充”。

对于内部视图,将有一个UIlabel。我的问题是我无法将UILabel放在将被添加到堆栈视图中的UIView内。

这是我的代码:

    let main1 = UIView()
    main1.backgroundColor = UIColor.red
    stackView.addArrangedSubview(main1)

    let text1 = UILabel()
    text1.text = "Lvl 1"
    text1.textColor = .blue
    text1.textAlignment = .center
    text1.backgroundColor = .yellow
    text1.sizeToFit()
    main1.addSubview(text1)


    let label2 = UIView()
    label2.backgroundColor = UIColor.blue
    stackView.addArrangedSubview(label2)

在此示例中,我仅添加2个视图,并将标签添加到第一个视图。那么,如何在每个UIView中放置UILabel居中?

1 个答案:

答案 0 :(得分:1)

您可以使用自动布局来实现此目的。检查以下代码:

...

main1.addSubview(text1)

text1.translatesAutoresizingMaskIntoConstraints = false
text1.centerXAnchor.constraint(equalTo: main1.centerXAnchor).isActive = true
text1.centerYAnchor.constraint(equalTo: main1.centerYAnchor).isActive = true