let view = UIView()
view.translatesAutoresizingMaskIntoConstraints = false
Interface Builder will automatically set its value to false if the view has constraints defined. But for the views created in code, it defaults to true.
UIView has a property called auto resizing mask, but its type is UIView auto resizing.
var autoresizingMast: UIViewAutoresizing { get set }
Hugging & Compression
Intrinsic size for a view is whatever size will exactly fit its size of wear content.
-
Content Hugging: Don't grow

-
Compression Resistance: Don't shink

Autolayout formula
attribute 1
= multiplier
* attribute 2
+ constant



https://www.raywenderlich.com/162311/adaptive-layout-tutorial-ios-11-getting-started
Xcode provides two size classes: Regular and Compact. Although they are related to the physical dimensions of a view, they also represent the semantic size of the view.
The following table shows how the size classes apply to the different devices and orientations:

AutoLayout in TableView
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 140
When you set the rowHeight as UITableViewAutomaticDimension
, the table view is told to use the Auto Layout constraints and the contents of its cells to determine each cell’s height.
In order for the table view to do this, you must also provide an estimatedRowHeight
. In this case, 140 is just an arbitrary value that works well in this particular instance. For your own projects, you should pick a value that better conforms to the type of data that you’ll be displaying.