init
does not causelayoutSubviews
to be called (duh)addSubview:
causeslayoutSubviews
to be called on the view being added, the view it’s being added to (target view), and all the subviews of the target- view
setFrame
intelligently callslayoutSubviews
on the view having its frame set only if the size parameter of the frame is different - scrolling a UIScrollView causes
layoutSubviews
to be called on the scrollView, and its superview - rotating a device only calls
layoutSubview
on the parent view (the responding viewControllers primary view) - Resizing a view will call
layoutSubviews
on its superview