layoutSubviews -- setNeedsLayout -- layoutIfNeeded -- 区别

-layoutSubviews方法:这个方法,默认没有做任何事情,需要子类进行重写
-setNeedsLayout方法: 标记为需要重新布局,异步调用layoutIfNeeded刷新布局,不立即刷新,但layoutSubviews一定会被调用
-layoutIfNeeded方法:如果,有需要刷新的标记,立即调用layoutSubviews进行布局(如果没有标记,不会调用layoutSubviews)

-layoutSubviews -- 是view的frame设置都写在这个方法里面

时间: 2024-11-05 15:54:41

layoutSubviews -- setNeedsLayout -- layoutIfNeeded -- 区别的相关文章

25、UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释

layoutSubviews总结 ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit------- - (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout------– - (void)setNeedsDisplay- (void)drawRectlayoutSubviews在以下情况下会被调用: 1.init初始化不会触发layo

UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释(转)

layoutSubviews总结 ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit—————— - (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout—————— - (void)setNeedsDisplay- (void)drawRect layoutSubviews在以下情况下会被调用: 1.init初始化不会触发layou

UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释

layoutSubviews总结 ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit------- - (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout------– - (void)setNeedsDisplay- (void)drawRectlayoutSubviews在以下情况下会被调用: 1.init初始化不会触发layo

UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释(转)

layoutSubviews总结 ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit------- - (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout------– - (void)setNeedsDisplay- (void)drawRectlayoutSubviews在以下情况下会被调用: 1.init初始化不会触发layo

iOS之layout方法-layoutSubviews、layoutIfNeeded、setNeedsLayout

下面列举下iOS layout的相关方法: layoutSubviews layoutIfNeeded setNeedsLayout setNeedsDisplay drawRect sizeThatFits sizeToFit 大概常用的上面几个 , 具体的应该还有别的. layoutSubviews 这个方法,默认没有做任何事情,需要子类进行重写 . 系统在很多时候会去调用这个方法: 1.初始化不会触发layoutSubviews,但是如果设置了不为CGRectZero的frame的时候就会

drawRect:和layoutSubview的区别

关于这两个方法的区别 还是有点意思的. UIView的setNeedsDisplay和setNeedsLayout方法.首先两个方法都是异步执行的.setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到UIGraphicsGetCurrentContext,就可以画画了.而setNeedsLayout会默认调用layoutSubViews,就可以处理子视图中的一些数据. 综上两个方法都是异步执行的,layoutSubviews方便数据计算,drawRect方便视图重绘.

layoutSubviews总结

ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size - (void)sizeToFit ------- - (void)layoutSubviews - (void)layoutIfNeeded - (void)setNeedsLayout ------– - (void)setNeedsDisplay - (void)drawRect layoutSubviews在下面情况下会被调用: 1.init初始化不会触发layoutSubviews

IOS中UIView的layoutSubviews和drawRect

UIView的setNeedsDisplay和setNeedsLayout方法.首先两个方法都是异步执行的.setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到UIGraphicsGetCurrentContext,就可以画画了.而setNeedsLayout会默认调用layoutSubViews,就可以处理子视图中的一些数据. 综上两个方法都是异步执行的,layoutSubviews方便数据计算,drawRect方便视图重绘. 先大概看下ios layout机制相关的

从 setNeedsLayout 说起

本文从 setNeedsLayout 这个方法说起,分享与其相关的 UIKit 视图交互.使用场景等内容. UIKit 为 UIView 提供了这些方法来进行视图的更新与重绘: public func setNeedsLayout() public func layoutSubviews() public func layoutIfNeeded() public func setNeedsDisplay() public func setNeedsDisplayInRect(rect: CGRe