What's the use of layoutsubviews?
This article will explain in detail what is the use of layoutsubviews for you. The editor thinks it is very practical, so I share it with you for reference. I hope you can get something after reading this article.
There is a method layoutSubviews in UIView. What is the specific purpose of this method?
Layoutsubviews official documentation explanation
Let's first take a look at the explanation of Apple's official documentation: ThedefaultimplementationofthismethoddoesnothingoniOS5.1andearlier.Otherwise,thedefaultimplementationusesanyconstraintsyouhavesettodeterminethesizeandpositionofanysubviews. Subclassescanoverridethismethodasneededtoperformmorepreciselayoutoftheirsubviews.Youshouldoverridethismethodonlyiftheautoresizingandconstraint-basedbehaviorsofthesubviewsdonotofferthebehavioryouwant.Youcanuseyourimplementationtosettheframerectanglesofyoursubviewsdirectly. Youshouldnotcallthismethoddirectly.Ifyouwanttoforcealayoutupdate,callthesetNeedsLayoutmethodinsteadtodosopriortothenextdrawingupdate.Ifyouwanttoupdatethelayoutofyourviewsimmediately,callthelayoutIfNeededmethod.
The last paragraph says, do not call this method directly. If you want to force the layout update, you can call the setNeedsLayout method; if you want to immediately count your views, you need to call the layoutIfNeeded method.
LayoutSubviews action
LayoutSubviews is a relayout of subviews. For example, when we want to update the location of a child view, we can relayout the child view by calling the layoutSubviews method.
LayoutSubviews does not do anything by default, and needs to be rewritten when it is used.
The following cases of layoutSubviews will be called
Apple's official documentation has stressed that you cannot directly call layoutSubviews to relayout child views. So, when will layoutSubviews be called? Through Baidu search, it is found that the following situations layoutSubviews will be called.
Call setLayoutSubviews directly. (this is explained in the official Apple document above)
This is the end of this article on "what's the use of layoutsubviews". I hope the above content can be of some help to you, so that you can learn more knowledge. if you think the article is good, please share it out for more people to see.