UIView 动态高度取决于标签高度

Kwn*_*ios 6 uiview uilabel ios swift swift2

我有一个标签,它从数据库中动态获取一些数据。这些数据是字符串,有时可以是 3-4-5 行等。所以这个标签在 UIView 中。

--UIView
  --Label
Run Code Online (Sandbox Code Playgroud)

我怎样才能让UIView标签动态地达到一定的高度??

bal*_*ngh 7

你可以用故事板来做这张照片

在此处输入图片说明

在此处输入图片说明

将标签高度关系设置为大于或等于

并将视图高度关系设置为大于或等于

它像魔术一样工作


Pit*_*Pan 6

波纹管正在解决您的问题。我用了autoLayout。在testView你没有设置heightAnchor

let testView: UIView = {
    let view = UIView()
    view.translatesAutoresizingMaskIntoConstraints = false
    view.backgroundColor = UIColor.redColor()
    return view
}()

let testLabel: UILabel = {
    let label = UILabel()
    label.numberOfLines = 0
    label.translatesAutoresizingMaskIntoConstraints = false
    label.text = "jashfklhaslkfhaslkjdhflksadhflkasdhlkasdhflkadshkfdsjh"
    return label
}()


override func viewDidLoad() {
    super.viewDidLoad()

    view.addSubview(testView)
    testView.centerXAnchor.constraintEqualToAnchor(view.centerXAnchor).active = true
    testView.centerYAnchor.constraintEqualToAnchor(view.centerYAnchor).active = true
    testView.widthAnchor.constraintEqualToConstant(100).active = true


    testView.addSubview(testLabel)
    testLabel.topAnchor.constraintEqualToAnchor(testView.topAnchor, constant: 10).active = true
    testLabel.leftAnchor.constraintEqualToAnchor(testView.leftAnchor, constant: 10).active = true
    testLabel.bottomAnchor.constraintEqualToAnchor(testView.bottomAnchor, constant: -10).active = true
    testLabel.rightAnchor.constraintEqualToAnchor(testView.rightAnchor, constant: -10).active = true

}
Run Code Online (Sandbox Code Playgroud)


Bha*_*Rao 6

我知道这是迟到的答案,但它可能会帮助其他人。

要为 UIView 设置动态高度,请按照 Storyboard 中的简单步骤进行操作

  1. 在 UIViewController 中添加一个 UIView 并设置你喜欢的背景颜色

在此处输入图片说明

  1. 现在设置以下约束Leading、Top、Trailing 和Height(截至目前)。我们可以调整高度约束以进一步实现动态高度。 在此处输入图片说明
  2. 更新高度约束,如下所示: 在此处输入图片说明
  3. 现在可能有故事板会向您展示不等式约束模糊性。但我们现在要解决这个问题。只需在 UIView 中添加一个标签,如图所示 在此处输入图片说明
  4. 现在设置标签前导、尾随、顶部和底部的约束 在此处输入图片说明
  5. 好啦,现在 UIView 的高度将根据标签的高度增加。只需对标签进行以下更改 在此处输入图片说明

此技术适用于此 UIView 中的其他视图。问题是您必须为此 UIView 中存在的视图指定底部约束。