Ich habe drei Ansichten auf meinem Storyboard, viewA
, viewB
, viewC
.Problem beim Erfassen ausgewählter Ansichten auf dem Bildschirm mit renderInContext in Swift
Ich versuche zu Screen-Capture-nur zwei Ansichten, wie sie auf dem Bildschirm in ihrem aktuellen Ort erscheinen, viewB
und viewC
.
Das Problem ist, wenn ich sie rende, das resultierende Bild zeigt viewB
und viewC
an falschen Standorten, ändert sich die Position der Ansichten bewegen oben links (0, 0), siehe Bild.
Wie kann ich den unten stehenden Code korrigieren, so dass ich die Ansichten viewB
und viewC
genau so erfassen kann, wie sie in der Ansicht positioniert sind, die die folgende renderInContext
Implementierung verwendet?
UIGraphicsBeginImageContextWithOptions(self.view.frame.size, false, 0)
self.viewB.layer.renderInContext(UIGraphicsGetCurrentContext()!)
self.viewC.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
Danke für Ihre Antwort @rmaddy. Wie übersetze ich den Grafikkontext konkret? – user4806509
Siehe mein Update. Ich glaube, das ist richtig. Es ist nicht getestet. – rmaddy
Danke @rmaddy. Ich habe das getestet und es funktioniert. Ich musste das '-self.viewC' in' self.viewC' ändern und das '-' entfernen, damit es funktionierte. Ich habe seitdem eine neue Ansicht hinzugefügt und habe Probleme beim Capturen. Aus irgendeinem Grund wird es nie angezeigt. Ich vermute, dass es mit automatischen Einschränkungen zu tun hat, aber ich bin mir nicht sicher, warum ich das untersuche. – user4806509