Wondering why exactly frame, bounds and center all exist for configuring a view's size and location?
Frame:
Apple: This rectangle defines the size and position of the view in its superview’s coordinate system.
Changing the frame automatically updates the center and the size portion of the bounds property.
* If the transform property is anything but the identity transform, you shouldn't worry about using the frame.
The documentation says the frame is undefined, though according to a WWDC presentation, the frame is defined by the minimum rectangle that contains the drawn view.
As you can see, by rotating the view by 45 degrees, the frame's size technically grows from 200x200 to 282x282. The size in the bounds property remains 200x200, which is why it should be used whenever the transform isn't set to the identity.
Bounds:
Apple: The bounds rectangle describes the view’s location and size in its own coordinate system.
While the origin of the frame defines where the view will appear inside of its superview, and will inform the center property, the origin of the bounds property defines the offset of the content within the view and has nothing to do with its location in the superview.
The default is (0, 0) but as the value is changed, what is visible within the view shifts.
If this sounds familiar, it should. The bounds property is synonymous with the contentOffset of a UIScrollView subclass. All a scroll view really is, is a view with content that flows beyond its size. As you scroll, the bounds origin is adjusted, revealing the previously hidden content.