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