IOS setNeedsDisplay 和 setNeedsLayout

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:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值