gpt4 book ai didi

ios - 使用自动布局扩展为文本的 UITextView

转载 作者:IT王子 更新时间:2023-10-29 07:26:54 25 4
gpt4 key购买 nike

我有一个完全使用自动布局以编程方式布局的 View 。我在 View 中间有一个 UITextView,上面和下面都有项目。一切正常,但我希望能够在添加文本时扩展 UITextView。这应该会在它扩展时将其下方的所有内容向下推。

我知道如何以“ Spring 和支柱”的方式做到这一点,但是有没有一种自动布局的方式来做到这一点?我能想到的唯一方法是在每次需要增长时删除并重新添加约束。

最佳答案

总结:禁用 TextView 的滚动,并且不限制其高度。

要以编程方式执行此操作,请将以下代码放入 viewDidLoad:

let textView = UITextView(frame: .zero, textContainer: nil)
textView.backgroundColor = .yellow // visual debugging
textView.isScrollEnabled = false // causes expanding height
view.addSubview(textView)

// Auto Layout
textView.translatesAutoresizingMaskIntoConstraints = false
let safeArea = view.safeAreaLayoutGuide
NSLayoutConstraint.activate([
textView.topAnchor.constraint(equalTo: safeArea.topAnchor),
textView.leadingAnchor.constraint(equalTo: safeArea.leadingAnchor),
textView.trailingAnchor.constraint(equalTo: safeArea.trailingAnchor)
])

要在 Interface Builder 中执行此操作,请选择 TextView ,取消选中属性检查器中的滚动启用,然后手动添加约束。

注意:如果您在 TextView 上方/下方有其他 View ,请考虑使用 UIStackView 来排列它们。

关于ios - 使用自动布局扩展为文本的 UITextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16868117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com