代码之家  ›  专栏  ›  技术社区  ›  memmons

iphone sdk:方向改变后如何在uiview子类上触发drawrect?

  •  18
  • memmons  · 技术社区  · 16 年前

    我正在子类化一个uiview并覆盖drawrect方法。我注意到视图的drawrect只在视图首次加载时调用。之后就再也不叫了。如何确保在方向更改后调用它?我试过在旋转前后调用视图上的setneedsdisplay,但这不起作用。

    3 回复  |  直到 13 年前
        1
  •  57
  •   wcochran    14 年前
    [myView setContentMode:UIViewContentModeRedraw];
    

    也可以在ib中设置(即,将mode设置为“redraw”)

        2
  •  8
  •   memmons    16 年前

    这是一个与完全不同的东西有关的错误。setNeedsDisplay确实会导致调用DrawRect。

        3
  •  0
  •   Mark    13 年前

    为了回答这个和其他94000个关于视图旋转/绘图风格的类似问题,

    -(id)initWithFrame:(CGRect)frame
    {
        if(self=[super initWithFrame:frame]) {
            self.autoresizesSubviews=YES;
            self.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
        }
        return self;
    }
    
    推荐文章