2014-02-27 39 views
1

MyView<UIView> *A有一个覆盖drawRect:定制的UIView如何重绘定制子视图

A包含一个子视图MySubview<UIView> *B还与覆盖drawRect:

我怎么B重绘时[A setNeedsDisplay]被调用;是否AdrawRect:实施的责任呼吁[B drawRect:rect]

谢谢你的任何指针。

回答

1

-setNeedsDisplay:仅适用于发送给它的视图。如果您需要重新绘制其他视图,则还需要添加一些代码以发送-setNeedsDisplay:给他们。这里的所有都是它的。

这是有效的表现,你不总是希望所有的子视图重绘。

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

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