2014-02-27 37 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)];