在layoutSubviews中调用setNeedsDisplay?
考虑在drawRect:
绘制自定义背景的视图drawRect:
如果视图更改大小,则需要重绘背景。
这是一个坏主意吗?
- (void) layoutSubviews { [super layoutSubviews]; [self setNeedsDisplay]; }
如果是这样,考虑到我无法控制谁改变了视图的大小,那么更好的select是什么?
不要这样做,这是没有必要的。 将视图的contentMode
设置为UIViewContentModeRedraw
:
UIViewContentModeRedraw
当通过调用setNeedsDisplay方法更改边界时重新显示视图。 在iOS 2.0及更高版本中可用。 在UIView.h中声明。
这将达到相同的效果。