如何在Swift中使用sizeThatFits?

时间:2017-03-14 15:27:24

标签: ios swift uiview uitextview

我有一个文本视图和这样的视图

let lb = UITextView()
let view = UIView()
background_img_view.addSubview(about_txt)

lb没有固定的高度,可以是30或300像素,如何使用sizeThatFits使background_img_view的高度取决于lb的?

1 个答案:

答案 0 :(得分:5)

试试这个:

// Get the width you want to fit
let fixedWidth = textView.frame.size.width

// Calculate the biggest size that fixes in the given CGSize
let newSize = textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude))

// Set the textView's size to be whatever is bigger: The fitted width or the fixedWidth
textView.frame.size = CGSize(width: max(newSize.width, fixedWidth), height: newSize.height)

// Make the "background_img_view" height match the textView's height
background_img_view.frame.size.height = textView.frame.size.height