drawRect,layoutSubViews和setNeedsDisplay方法的重要性

时间:2010-08-23 05:13:36

标签: iphone

drawRect,layoutSubViews和setNeedsDisplay方法的重要性是什么。在哪种情况下我们应该使用它们?

1 个答案:

答案 0 :(得分:2)

如文件所述:

drawRect: Draws the receiver’s image within the passed-in rectangle. 
     

参数

     

rect:一个矩形,用于定义限制绘图的区域。

您可以使用此方法在视图的特定矩形内绘制UIView。

  
      
  • (无效)setNeedsDisplay
  •   
     

默认情况下,几何图形会更改为视图   自动重新显示视图   无需调用   drawRect:方法。因此,你需要   请求仅重绘视图   当数据或状态用于   绘制视图更改。在这种情况下,   发送视图setNeedsDisplay   信息。任何标记为的UIView对象   需要显示是自动的   应用程序时重新显示   返回运行循环。

我认为这种方法可让您控制是否希望系统自动为您重绘UIView。如果你想通过自己的状态控制进程,如:用户单击此按钮,重绘;否则,不要。

布置子视图。

  
      
  • (无效)layoutSubviews
  •   
     

由子类重写为布局   layoutIfNeeded时的子视图   调用。默认实现   这种方法什么都不做。

我对这种方法的经验不多。我可以告诉你的是,你需要覆盖它来布局你的子视图