Except UIViewController has a view property that is usually a container for a lot of other views. Sometimes it's desirable to add constraints to this view. Apple even provides API for this: UIViewController's updateViewConstraints method. I think of this as a compromise so we don't have to create a custom UIView subclass for every UIViewController subclass.