我在drawRect
中有一些自定义绘图代码,它还执行一些大小计算。
最早的时候我可以确定已加载此代码,例如如果我想相应地修改它的容器大小?
答案 0 :(得分:3)
-[NSView viewWillDraw]
是最后一刻布局的合理位置。
答案 1 :(得分:2)
我在drawRect中有一些自定义绘图代码,它也执行一些大小计算。
最早的时候我可以确定已加载此代码,例如如果我想相应地修改它的容器大小?
在完全加载类之前,对象不能存在。如果你有一个实例,那么它是一个实例的类是完全加载的,因为如果没有实例,你将没有它的实例。
至于什么时候叫它:当你需要画画的时候叫它。这通常作为事件循环的一部分发生,如果有任何事情已将视图标记为需要显示。可以直接告诉NSView显示,但据我所知,这对UIViews来说是不可能的。
所以,如果你需要在它被告知之前做一些事情,要么在创建它之后立即执行,或者如果你要将视图设置为需要显示,请在执行此操作之前执行此操作。
答案 2 :(得分:1)
在显示视图或致电
之前[aView setNeedsDisplay];
答案 3 :(得分:0)
我刚刚创建了我的第一个customView应用。这是我的一个问题。我的drawRect方法在创建窗口(或重新创建)时被调用一次。在调整窗口大小时有数百万的时间。