gpt4 book ai didi

swift - UITextView sizeThatFits 给出的答案在 Swift 中太短了

转载 作者:搜寻专家 更新时间:2023-10-31 08:12:23 25 4
gpt4 key购买 nike

当您尝试在 UITextView 上执行 sizeThatFits 时,如果您随后将所述 UITextView 的高度设置为结果,那么它太短了!这个答案:

UITextView Content Size too Short

似乎还不够,因为如果您检查 TextView 的 contentInset 属性,contentInset 全部设置为零。

最佳答案

它使用 textContainerInset 而不是 contentInset 的键。这将为您提供您正在寻找的顶部和底部的适当缓冲区。所以,你会得到类似的东西:

textView.text = "Some multiline text";
let size: CGSize = textView.sizeThatFits(CGSizeMake(textView.frame.size.width, CGFloat.max));
let insets: UIEdgeInsets = textView.textContainerInset;
textViewHeight.constant = size.height + insets.top + insets.bottom;

同样重要的是要注意,必须在呈现 UITextView 之后调用此方法。换句话说,我最初是在 Controller 的 viewDidLoad 方法中调整它的大小,而实际上它必须在 viewDidAppear 中。这很烦人,因为 View 已经显示,但为了更好的美观,我通过淡入淡出解决了这个问题。

关于swift - UITextView sizeThatFits 给出的答案在 Swift 中太短了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29122569/

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