3
drawRect,layoutSubViews和setNeedsDisplay方法的重要性如何?我们应该在哪些情况下使用它们?drawRect,layoutSubViews和setNeedsDisplay方法的重要性
drawRect,layoutSubViews和setNeedsDisplay方法的重要性如何?我们应该在哪些情况下使用它们?drawRect,layoutSubViews和setNeedsDisplay方法的重要性
如文档中说:
drawRect: Draws the receiver’s image within the passed-in rectangle.
参数
RECT:一个矩形,它定义来限制绘制的区域。
您可以使用此方法在视图的特定区域内绘制UIView。
- (无效)setNeedsDisplay
默认情况下,几何形状改变为图 自动重新显示视图 ,而无需调用 drawRect:方法。因此,您需要 请求在绘制视图的数据或状态用于绘制视图时更改仅视图重绘 。在这种情况下, 发送视图setNeedsDisplay 消息。当应用程序 返回到运行循环时,标记为 需要显示的任何UIView对象将自动重新显示 。
我觉得这个方法可以让你控制你是否想让系统自动为你重绘你的UIView。如果你想通过你自己的状态来控制进程,比如:如果用户点击这个按钮,重绘;否则,不要。
列出子视图。
- (无效)layoutSubviews
由子类重写布局 子视图时layoutIfNeeded是 调用。此方法的默认实现 什么都不做。
我对这种方法没有太多的经验。我可以告诉你的是,你需要覆盖它来布局你的子视图
非常感谢。这很有帮助。 – Abhinav 2010-08-23 06:39:29