先看下关键的方法
textView.sizeThatFits(CGSize)
然后看官方文档
Asks the view to calculate and return the size that best fits the specified size.
Declaration
SWIFT
func sizeThatFits(_ size: CGSize) -> CGSize
OBJECTIVE-C
- (CGSize)sizeThatFits:(CGSize)size
Parameters
size
The size for which the view should calculate its best-fitting size.
Return Value
A new size that fits the receiver’s subviews.
Discussion
The default implementation of this method returns the existing size of the view. Subclasses can override this method to return a custom value based on the desired layout of any subviews. For example, a UISwitch object returns a fixed size value that represents the standard size of a switch view, and a UIImageView object returns the size of the image it is currently displaying.
This method does not resize the receiver.
Availability
Available in iOS 2.0 and later.