Ich habe eine UIView, die mehrere UIImageViews als Subviews hat. Für jeden dieser Teilansichten wurde eine unterschiedliche affine Transformation angewendet. Ich würde gerne eine Bildschirmaufnahme von meinem UIView machen, die es als UIImage oder eine andere Bilddarstellung aufnimmt.Flatten UIViews Subviews zu UIImage iPhone 3.0
Die Methode, die ich bereits versucht haben, mit den Schichten zu einem CGContext Rendering:
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
die Positionierung oder andere Affintransformationen meiner Subviews nicht erhalten hat.
Ich würde einen Kick in die richtige Richtung wirklich schätzen.
Sie es gehen. Ich musste nur self.view.size in self.view.frame.size ändern und renderInContext verwenden. Ich bin mir nicht sicher, wie ich das vermisst habe, ich denke, der Schlüsselsatz aus Apples Dokumenten ist "Renders im Koordinatenraum der Ebene." Danke! – SooDesuNe
Ab iOS4 sollten Sie UIGraphicsBeginImageContextWithOptions (size, NO, 0.0) verwenden – steipete
Verwenden Sie stattdessen 'YES', wenn Sie möchten, dass es undurchsichtig ist. Hilft Leistung, wenn Sie kein Alpha benötigen. –