Verwenden Sie asImage (), um eindeutige Inhalte abzurufen, die auf der Kamerarolle gespeichert werden sollen.
Wenn Sie asImage () verwenden, können Sie mit nur wenigen Codezeilen eine Vielzahl lustiger Dinge auf der Kamerarolle speichern! Dies kann sehr leistungsfähig sein, wenn das Objekt bereits eine gewisse Transparenz aufweist.
asImage () funktioniert mit UITextView, WKWebView, UIImageView, UIButton, UISlider und UITableView, um einige Objekte zu benennen (diese müssen jedoch möglicherweise sichtbar sein, wenn Sie das Bild erhalten (mit einem Alpha ungleich Null)). Ich verwende es sogar zum Erfassen von Kacheln, aber das ist bereits in meinem Design in eine UIImageView geladen. Ich vermute, dass asImage () auch mit viel mehr Objekttypen funktioniert, aber ich habe nur die von mir erwähnten ausprobiert.
Wenn es sich um eine UITextView handelt und Sie die Hintergrundfarbe auf .clear setzen, wird der Text mit einem transparenten Hintergrund gespeichert. Wenn Ihr Text Emoji oder Memoji enthält, können Sie diese Bilder jetzt in die Kamerarolle oder in UIImageViews innerhalb Ihrer App übertragen. Memoji / Emoji mit einem transparenten Hintergrund in Ihrer Kamerarolle zu haben, wo sie in einer Vielzahl von Anwendungen verwendet werden können, ist leistungsstark.
Andere Objekte haben möglicherweise eine gewisse Transparenz, wenn Sie ein Foto auf einen Kreis zuschneiden oder den Eckenradius so einstellen, dass die Ecken abgeschnitten werden.
Beachten Sie in meinem Code, dass pointerToTextObjectSelected eine UITextView ist
var pointerToTextObjectSelected = UITextView()
// above populated elsewhere
let thisObject = pointerToTextObjectSelected.asImage()
let imageData = thisObject.pngData()
let imageToSave = UIImage(data: imageData!)
UIImageWriteToSavedPhotosAlbum(imageToSave!, nil, nil, nil)