drawRect,layoutSubViews和setNeedsDisplay方法的重要性是什么。在哪种情况下我们应该使用它们?
答案 0 :(得分:2)
如文件所述:
drawRect: Draws the receiver’s image within the passed-in rectangle.
参数
rect:一个矩形,用于定义限制绘图的区域。
您可以使用此方法在视图的特定矩形内绘制UIView。
- (无效)setNeedsDisplay
默认情况下,几何图形会更改为视图 自动重新显示视图 无需调用 drawRect:方法。因此,你需要 请求仅重绘视图 当数据或状态用于 绘制视图更改。在这种情况下, 发送视图setNeedsDisplay 信息。任何标记为的UIView对象 需要显示是自动的 应用程序时重新显示 返回运行循环。
我认为这种方法可让您控制是否希望系统自动为您重绘UIView。如果你想通过自己的状态控制进程,如:用户单击此按钮,重绘;否则,不要。
布置子视图。
- (无效)layoutSubviews
由子类重写为布局 layoutIfNeeded时的子视图 调用。默认实现 这种方法什么都不做。
我对这种方法的经验不多。我可以告诉你的是,你需要覆盖它来布局你的子视图