我有一个UIView
子类,我正在做一些自定义绘图。当drawRect:(CGRect)rect
被调用时rect.size
是(64,63)或(63,64); self.frame.size
是(64,64)。
我有这个子类的多个实例,其中大多数都获得drawRect
参数的预期(64,64)大小。
哪些条件可能导致某些子类具有修改的drawRect
边界而不是其他子类?
其他花絮:
rect.size
drawRect
答案 0 :(得分:12)
传递给drawRect的rect是系统要求你在视图坐标系中绘制(rectRect)的矩形。
它可以是self.bounds,也可以是不同的矩形。
通常,您应该忽略参数并在self.bounds中绘制自己,除非您的绘图非常复杂。注意传入的dirtyRect参数是一个优化,在您分析应用程序并确定它是热点之前,应该忽略该优化。