【问题标题】:How to redraw custom subviews of custom UIView如何重绘自定义 UIView 的自定义子视图
【发布时间】:2014-02-27 07:36:40
【问题描述】:

MyView<UIView> *A 覆盖drawRect:

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

[A setNeedsDisplay] 被调用时,如何让B 重绘;调用[B drawRect:rect]AdrawRect: 实现的责任吗?

感谢您的任何指点。

【问题讨论】:

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


    【解决方案1】:

    -setNeedsDisplay: 仅适用于它被发送到的视图。如果您需要重绘其他视图,您也需要添加一些代码来发送 -setNeedsDisplay: 给它们。仅此而已。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多