J'ai un UIView qui a plusieurs UIImageViews sous-vues. Chacune de ces sous-vues a eu une transformation affine différente appliquée. Je voudrais prendre ce qui équivaut à une capture d'écran de mon UIView, en le capturant comme un UIImage, ou une autre représentation d'image.Aplatir les sous-vues UIViews vers UIImage iPhone 3.0
La méthode que je l'ai déjà essayé, ce qui rend les couches à un CGContext avec:
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
ne conserve pas le positionnement ou d'autres transformations affines de mes sous-vues.
J'apprécierais vraiment un coup de pied dans la bonne direction.
Vous allez lui. Je devais juste changer self.view.size en self.view.frame.size et utiliser renderInContext. Je ne sais pas comment j'ai manqué cela, je suppose que la phrase clé des docs d'Apple est "rend dans l'espace de coordonnées de la couche." Merci! – SooDesuNe
En commençant par iOS4, vous devez utiliser UIGraphicsBeginImageContextWithOptions (size, NO, 0.0) – steipete
Utilisez plutôt 'YES' si vous voulez qu'il soit opaque. Aide la performance si vous n'avez pas besoin d'alpha. –