Swift - 如何在约束中动态更改textView高度?

时间:2016-05-10 09:05:16

标签: ios swift tableview

我想按上下文更改表格视图中间的文本视图高度。在textView之后我有另一个视图,由自动布局约束提供恒定高度。

实际上我会从上下文中获得前150个字符来显示,但我认为使用自动调整大小需要防止出现另一个屏幕尺寸问题。

我如何使用自动尺寸,有没有办法像这样分配表视图行高?

let height = 4 + 17 + contextHeight + 4

1 个答案:

答案 0 :(得分:0)

在故事板中

,为textview添加宽高比,然后选中“Remove at build time”选项。

viewDidLayoutSubviews()

override func viewDidLayoutSubviews() {

    super.viewDidLayoutSubviews()

    let contentSize = self.TextViewTitle.sizeThatFits(self.TextViewTitle.bounds.size)
    var frame = self.TextViewTitle.frame
    frame.size.height = contentSize.height
    self.TextViewTitle.frame = frame

    aspectRatioTextViewConstraint = NSLayoutConstraint(item: self.TextViewTitle, attribute: .Height, relatedBy: .Equal, toItem: self.TextViewTitle, attribute: .Width, multiplier: TextViewTitle.bounds.height/TextViewTitle.bounds.width, constant: 1)
    self.TextViewTitle.addConstraint(aspectRatioTextViewConstraint!)

}