IOS setNeedsDisplay 和 setNeedsLayout

本文深入探讨iOS开发中视图管理的关键方法:setNeedsDisplay、drawRect、setNeedsLayout、layoutSubviews等,详细解释了它们的作用及用法,并提供实际应用场景,帮助开发者高效完成界面布局与渲染。

setNeedsDisplay:

Marks the receiver’s entire bounds rectangle as needing to be redrawn.

drawRect:

This method is called when a view is first displayed or when an event occurs that invalidates a visible part of the view. You should never call this method directly yourself. To invalidate part of your view, and thus cause that portion to be redrawn, call the setNeedsDisplay orsetNeedsDisplayInRect: method instead.

setNeedsLayout:

Invalidates the current layout of the receiver and triggers a layout update during the next update cycle.

layoutIfNeeded

Use this method to force the layout of subviews before drawing.Lays out the subviews immediately.

layoutSubviews:

You should not call this method directly. If you want to force a layout update, call thesetNeedsLayout method instead to do so prior to the next drawing update. If you want to update the layout of your views immediately, call thelayoutIfNeeded method.



总之 你要是排布 子视图 就在layoutSubviews:

你要是画一些东西 就在drawRect:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值