Rendering UIView mit Ihren Kindern
Ich habe eine UIView
hat ein Bild und einige Tasten, als seine Untersichten. Ich würde gerne einen "snapshot-image" der es mit renderInContext
oder eine andere Methode.
[clefView.layer renderInContext:mainViewContentContext];
Wenn ich gehen es mein UIView
(wie oben), dann erhalte ich eine leere bitmap. Keines der Kinder gerendert werden, die in die bitmap.
Wenn ich übergeben Sie es dem Kind ansehen, dass ist das Bild, dann bekomme ich ein Bild der bitmap, die, und, wenig überraschend, keiner seiner Geschwister (Tasten).
Ich war irgendwie in der Hoffnung, dass renderInContext
dauern würde, das Bild und alle es ist sichtbar, Kinder und Rendern in ein bitmap. Hat jemand irgendwelche Ideen, wie dies zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Probieren Sie etwas wie dieses:
#import <QuartzCore/QuartzCore.h>
zu vermeiden, WarnungenUIGraphicsBeginImageContext(clefView.bounds.size, YES, 0);
Simple 4-line-version hat bei mir nicht funktioniert. Ich habe eine UIView (mit sub-Layer), und ein Kind UITextView. Ich machen kann das UIView in die UIImage OK, aber das Kind UITextView nicht gerendert.
Meine einfache Lösung ist wie folgt:
Beachten Sie, dass die einfache Nutzung von CGContextTranslateCTM übernimmt die untergeordneten Ansichten haben keine transformieren anderes als übersetzung. Auch ich gehe davon aus, dass die untergeordneten Ansichten sind vollständig enthalten innerhalb der parent view frame.