title: Custom UIView's drawRect never called if initial frame is CGRectZero
body: <p>I've got a pretty simple custom subclass of UIView:</p>
  
  <pre><code>#import "BarView.h"
  #import &lt;QuartzCore/QuartzCore.h&gt;
  
  @implementation BarView
  
  @synthesize barColor;
  
  - (void)drawRect:(CGRect)rect
  {
      NSLog(@"drawRect");
      // Draw a rectangle.
      CGContextRef context = UIGraphicsGetCurrentContext();
      CGContextSetFillColorWithColor(context, self.barColor.CGColor);
      CGContextBeginPath(context);
      CGContextAddRect(context, self.bounds);
      CGContextFillPath(context);
  }
  
  - (void)dealloc
  {
      self.barColor = nil;
  
      [super dealloc];
  }
  
  @end
  </code></pre>
  
  <p>If I call initWithFrame:rect on this class with some non-zero rect, it works fine; but when I call initWithFrame:CGRectZero, drawRect is -never- called, even after I modify the view's frame to a non-zero rect.</p>
  
  <p>I certainly understand why a view with a zero frame would never have its drawRect: called, but why is it never called even after the frame is changed?</p>