20

我正在继承 UIView 并覆盖 drawRect 方法。我注意到视图的 drawrect 仅在视图首次加载时被调用。之后,它就再也没有被调用过。如何确保在方向更改后调用它?我试过在旋转前后的视图上调用 setNeedsDisplay ,但没有这样做。

4

3 回答 3

59
[myView setContentMode:UIViewContentModeRedraw];

您也可以在 IB 中进行设置(即,将模式设置为“重绘”)

于 2012-01-26T18:32:04.347 回答
9

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

于 2010-05-12T19:42:07.963 回答
0

回答这个问题和其他 94,000 个关于视图旋转/drawrect funkness 的类似问题,

-(id)initWithFrame:(CGRect)frame
{
    if(self=[super initWithFrame:frame]) {
        self.autoresizesSubviews=YES;
        self.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
    }
    return self;
}
于 2013-02-07T15:18:08.223 回答