Auto Layout is a system employed by the user interface system in Cocoa and Cocoa Touch since iOS 7.0 and OS X 10.9 Mavericks, which allows user interfaces to be designed (be it in the visual designer in Xcode in Xib and Storyboard files or via code) in a way that can automatically adjust to various screen sizes, windows sizes or device orientations.
Auto Layout is based on *Constraints that specify aspects such as minimum (or exact) spacing between controls, relative alignment within containers and so forth.
Since iOS 8.0, Auto Layout works in combination with Size Classes to also allow the UI to adjust more radically between iPhone and iPad, or between portrait and landscape orientation.
Auto-Layout is available since Xcode 5; it can be enabled for older Xib or Storyboard files (or disabled for newer ones, if you do not want to use it) on the first tab of the Utility pane in Xcode, on a per-file basis. The same is true for size classes, in iOS projects starting with Xcode 6. The exact feature set available to Auto Layout may also depend on the version of Xcode selected in this panel – we recommend selecting "Default".
Read more about Auto Layout and Size Classes at these external links: