iPhone SDK:如何在方向更改后触发UIView子类上的drawRect?

时间:2010-03-26 19:32:04

标签: iphone uiview drawrect

我正在继承UIView并覆盖drawRect方法。我注意到只在视图首次加载时才调用视图的drawrect。之后再也不会再打电话了。如何确保在方向更改后调用它?我已经尝试在旋转之前和之后调用setNeedsDisplay,但是没有这样做。

3 个答案:

答案 0 :(得分:58)

[myView setContentMode:UIViewContentModeRedraw];

你也可以在IB中设置它(即设置模式为“重绘”)

答案 1 :(得分:8)

这是一个完全不同的错误。 setNeedsDisplay确实会导致调用drawRect。

答案 2 :(得分:0)

回答这个问题以及其他94,000个关于视图旋转/画好时候的类似问题,

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