问题
Consider a view with a custom background that is drawn in drawRect:
. If the view changes size, the background need to be redrawn.
Is this a bad idea?
- (void) layoutSubviews
{
[super layoutSubviews];
[self setNeedsDisplay];
}
If it is, what would be a better alternative considering I can't control who changes the size of the view?
回答1:
Dont do that, it's not necessary. Set the contentMode
of the view to UIViewContentModeRedraw
:
UIViewContentModeRedraw
Redisplays the view when the bounds change by invoking the setNeedsDisplay method. Available in iOS 2.0 and later. Declared in UIView.h.
This will achieve the same effect.
来源:https://stackoverflow.com/questions/13434794/calling-setneedsdisplay-in-layoutsubviews