将 textView 高度设置为等于 contentSize swift

Posted

技术标签:

【中文标题】将 textView 高度设置为等于 contentSize swift【英文标题】:set textView height to equal contentSize swift 【发布时间】:2015-04-07 16:23:02 【问题描述】:

我已经通过 interfacebuilder 向我的 tableViewCell 添加了一个 textView。但是我想将大小设置为等于 textView 中的内容。这似乎不起作用。到目前为止,我已经完成了以下操作,它不会改变 textView 的框架

var size: CGSize = cell.titleViewLabel.systemLayoutSizeFittingSize(cell.titleViewLabel.contentSize)
var frame: CGRect = cell.titleViewLabel.frame
frame.size.height = size.height
cell.titleViewLabel.frame = frame

【问题讨论】:

你在使用自动布局吗?为什么不只是设置一些定位约束并让内在内容大小接管。 Using Auto Layout in UITableView for dynamic cell layouts & variable row heights 的可能重复项 【参考方案1】:

我建议使用自动布局而不是手动设置帧大小。但是,如果您必须手动设置它,则需要获取您正在设置的文本的大小。

let labelSize = myLabel.text.sizeWithAttributes([NSFontAttributeName:myLabel.font!])

let labelHeight = labelSize.height;

使用它,您应该拥有文本的大小和高度,然后您可以将其设置为定义的框架高度。

【讨论】:

自动布局。你能解释一下或给我一个链接,它可以帮助我实现我想要的吗? 不是一个直接的答案,但我建议阅读这篇关于如何同时使用自动布局 intrinsicContentSize 和 systemLayoutSizeFittingSize 的帖子:***.com/questions/18118021/…

以上是关于将 textView 高度设置为等于 contentSize swift的主要内容,如果未能解决你的问题,请参考以下文章

如何将一个/两个 TextView 设置为另一个 TextView 的高度?

将项目的高度设置为等于项目的宽度

Jquery 将每个选定的 div 高度设置为等于其宽度

如何将外部 div 的高度设置为始终等于特定的内部 div?

设置字体大小,使字母高度等于某个值

在渲染到布局之前获取文本视图的高度