如何重绘自定义UIView的自定义子视图

时间:2014-02-27 07:36:40

标签: ios objective-c cocoa-touch uiview uikit

MyView<UIView> *A覆盖drawRect:

A包含子视图MySubview<UIView> *B,同时覆盖drawRect:

调用B时如何让[A setNeedsDisplay]重绘; A drawRect:实施是否有责任致电[B drawRect:rect]

感谢您的任何指示。

1 个答案:

答案 0 :(得分:1)

-setNeedsDisplay:仅适用于发送它的视图。如果您需要重绘其他视图,则需要添加一些代码以将-setNeedsDisplay:发送给它们。这就是它的全部内容。

这对性能有效,您不一定总是希望重绘所有子视图。

如果您想重绘所有子视图,可以使用以下代码:

[self.subviews makeObjectsPerformSelector:@selector(setNeedsDisplay)];