【问题标题】:Center UILabel inside UIView in Stack View在堆栈视图中的 UIView 中居中 UILabel
【发布时间】:2018-11-21 09:27:09
【问题描述】:

我在情节提要中安排了一个水平堆栈视图。至于堆栈视图的视图,它是以编程方式完成的,因为堆栈视图内的视图数量是动态的。我已将堆栈视图设置为 'Fill Equally'。

对于里面的views,会有一个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 居中?

【问题讨论】:

  • 为这个容器内的每个 UIView + UILabel 和中心标签创建一个容器视图。

标签: ios uilabel uistackview


【解决方案1】:

您可以使用自动布局来实现这一点。检查下面的代码:

...

main1.addSubview(text1)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 1970-01-01
    • 2016-07-16
    • 2018-06-12
    • 2019-01-02
    • 2022-12-09
    • 2015-05-07
    相关资源
    最近更新 更多