Próbuję załadować widok z stalówką, skonfigurować go i zrobić zdjęcie tego, bez dodawania go do ekranu:Take migawkę widoku bez dodawania go do ekranu
+ (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);
}
gdzie migawka jest typowa:
+ (UIImage *)snapshot:(UIView *)view
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, 0.0);
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
jednak zarówno catView i kompozytowe są prawidłowo wielkości ale puste jak i krok poprzez kod. Jak utworzyć UIImage z widoku załadowanego ze stalówki, bez dodawania widoku do ekranu?
Byłem świadomy, że mogę to zrobić, dodając w jakiś sposób widok do niewidocznej części ekranu. Właściwie to nazywam ten kod z podklasy NSObject, która nie ma odniesienia do głównego widoku, więc miałem nadzieję, że istnieje sposób na załadowanie stalówki, dostosowanie jej i migawki, ale chyba nie. – soleil