drawRect方法的调用时机
1、直接调用setNeedsDisplay或者setNeedsDisplayInRect:会触发drawRect:,但是有一个前提就是frame的size不能为0
2、drawRect的调用时机是在viewWillAppear和viewDidAppear之间
3、调用sizeToFit,会触发drawRect的调用
4、UIView的contentMode属性设置成UIViewContentModeRedraw,每一次设置或更改frame值为触发drawRect的调用
layoutSubViews的调用时机
1、setNeedsLayout或者layoutIfNeed
2、addSubview
3、改变一个view的frame值的时候,当然前提是frame值前后发生了变化
4、屏幕旋转的时候会触发父视图的layoutSubviews
5、scrollView在滑动的过程中触发UIView重新布局的时候会执行layoutSubviews
网友评论