ios - 动态自动布局调整大小

标签 ios swift autolayout swift4

我有一个容器,里面有一个 UITextView。容器应该根据 TextView 的高度调整大小。我目前正在使用那里的线路使其工作

 let fixedWidth = textView.frame.size.width
    let newSize = textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude))
    let textViewHeight = CGSize(width: max(newSize.width, fixedWidth), height: newSize.height)

    containerView.frame.size = textViewHeight

问题是,我在其余约束上使用自动布局,我也想将其作为自动布局进行管理。 我试过在我的自动布局中使用 .greatestFiniteMagnitude 但这对我没有太大帮助。

最佳答案

这是允许文本字段自动调整大小和自动扩展其包含 View 的布局和约束。

containerView(蓝色)受限于顶部/前导/尾随,但底部或高度。

textView 被约束为 Top/Leading/Trailing/Bottom,都在 8,并且 Scrolling 被禁用。

少量文字: enter image description here

较长的文本量: enter image description here

在运行时,当您设置文本时——在字段中键入时——其高度将根据文本量自动调整大小。

关于ios - 动态自动布局调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50877170/

相关文章:

swift - 触摸结束时如何更改 UISlider Thumb 外观

WPF Square 自动调整父容器的大小

ios - UICollectionViewCell:AutoLayout - 大小计算不正确(偏移 exacatly 10 pt)

ios - 无法从 NSString 中提取子字符串

ios - 将扩展添加到外部依赖项时中止陷阱 6

iphone - 是否有可能让 iOS Simulator 的表现更像一部真正的 iPhone?

ios - 将可视格式的约束转换为 NSLayoutAnchor API

objective-c - 为什么我不能关闭导航堆栈上的上一个 View ?

ios - 如何在 UITableView 中删除带有计时器的自定义单元格?

ios - 如何将固定字符串文本 Foo 放入粘贴缓冲区?