gpt4 book ai didi

ios - 根据其内容设置高度后 UITextView 的大小 SWIFT

转载 作者:行者123 更新时间:2023-11-30 13:51:52 24 4
gpt4 key购买 nike

我有一个 UITextView,具有高度约束,以便使框架的高度适应其内容(取决于字符串的长度)。 (我使用自动布局)。效果很好。

caseA caseB

但是,我不明白有关 TextView 框架的大小的信息。

我解释一下。

我在设置 uitextview 的文本并更新约束后显示框架信息。

override func viewDidLoad() {
...
self.textview.text = post.title
...
}

override func viewDidLayoutSubviews() {

let contentSize = self.textview.sizeThatFits(self.textview.bounds.size)
self.heightConstraint.constant = contentSize.height
self.textview.layoutIfNeeded()

print(self.textview.frame) // frame
print(self.textview.bounds) // bounds
}

结果:

对于情况A:

(8.0, 0.0, 584.0, 97.0) //frame
(0.0, 0.0, 584.0, 97.0) //bounds

对于情况 B:

(8.0, 0.0, 584.0, 97.0) //frame
(0.0, 0.0, 584.0, 97.0) //bounds

我不明白为什么两种情况下框架的高度相同???

最佳答案

如果您不需要 UITextView 的滚动部分,这将解决问题:

class ViewController: UIViewController {

let textView = UITextView()

override func viewDidLoad() {

super.viewDidLoad()

self.view.backgroundColor = UIColor.whiteColor()

self.view.addSubview(self.textView)
self.textView.backgroundColor = UIColor.redColor()
self.textView.text = "Hello world Hello world Hello world Hello world Hello world Hello world"

self.textView.translatesAutoresizingMaskIntoConstraints = false
self.textView.topAnchor.constraintEqualToAnchor(self.view.topAnchor).active = true
self.textView.leftAnchor.constraintEqualToAnchor(self.view.leftAnchor).active = true
self.textView.rightAnchor.constraintEqualToAnchor(self.view.rightAnchor).active = true

self.textView.scrollEnabled = false // magic which will help auto expanding
}
}

关于ios - 根据其内容设置高度后 UITextView 的大小 SWIFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34162071/

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