Reputation: 326
I have a container with a UITextView
inside it. The container is supposed to resize according to the height of the text view. I'm currently using there lines to make it work
let fixedWidth = textView.frame.size.width
let newSize = textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude))
let textViewHeight = CGSize(width: max(newSize.width, fixedWidth), height: newSize.height)
containerView.frame.size = textViewHeight
The thing is, i'm using Auto Layout on the rest of the constraints and I would like to manage this as an Auto Layout as well.
I've tried using .greatestFiniteMagnitude
in my auto layout but that didn't do much for me.
Upvotes: 0
Views: 70
Reputation: 77423
Here is the layout and constraints to allow the text field to auto-size and auto-expand its containing view.
The containerView (blue) is constrained Top/Leading/Trailing, but not Bottom or Height.
The textView is constrained Top/Leading/Trailing/Bottom, all at 8
, and Scrolling is Disabled.
At run-time, when you set the text -- or when typing in the field -- its Height will auto-size based on the amount of text.
Upvotes: 1