title: Take a snapshot of view without adding it to the screen
body: <p>I'm trying to load a view from a nib, configure it, and take a snapshot of it, without adding it to the screen:</p>
  
  <pre><code>+ (void)composeFromNibWithImage:(UIImage*)catImage completion:(CompletionBlock)completion {
  
      NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"CatNib" owner:nil options:nil];
      CatView *catView = [nibContents firstObject];
  
      //here, catView is the correct size from the nib, but is blank if inspected with the debugger
  
      catView.catImageView.image = catImage;
      catView.furButton.selected = YES;    
      UIImage *composite = [UIImage snapshot:catView];
      completion(composite);
  }
  </code></pre>
  
  <p>where snapshot is the typical:</p>
  
  <pre><code>+ (UIImage *)snapshot:(UIView *)view
  {
      UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, 0.0);
      [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
      UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
      UIGraphicsEndImageContext();
  
      return image;
  }
  </code></pre>
  
  <p>However, both catView and composite are sized correctly but blank as I step through the code. How can I create a UIImage from a view that is loaded from a nib, without adding the view to the screen? </p>