Swift version: 5.4
UIView subclasses have two properties that at first glance seem similar:
bounds. Both return a
CGRect – a rectangle containing their X and Y position, plus their width and height – but that doesn’t mean they are the same.
At its simplest, a view’s bounds refers to its coordinates relative to its own space (as if the rest of your view hierarchy didn’t exist), whereas its frame refers to its coordinates relative to its parent’s space.
This means a few things:
boundsare the same.
When you change the width or height of either
bounds, the other value is updated to match. Generally it’s better to modify
transform, and let UIKit calculate the
frame for you.
SAVE 50% This Black Friday all our books and bundles are half price, so you can take your Swift knowledge further without spending big! Get the Swift Power Pack to build your iOS career faster, get the Swift Platform Pack to builds apps for macOS, watchOS, and beyond, or get the Swift Plus Pack to learn advanced design patterns, testing skills, and more.
Available from iOS 2.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.