2016-04-02 8 views
1

Das scheint eine ziemlich einfache Frage, aber ich fand sehr wenig Dokumentation über das Thema online:Bild in Swift generieren

Wie erzeuge ich ein Bild mit Swift?

Genauer gesagt, ich habe eine App, die Ergebnisse eines realen Spiels verfolgt, und speichert diese Ergebnisse. Ich möchte, dass meine Nutzer bei Bedarf eine Anzeigetafel erstellen und diese als Bild exportieren können, um sie beispielsweise auf Facebook zu teilen. Die meisten Tutorials zur UIImage-Programmierung scheinen über das Ändern von Bildern zu sein (wie das Anwenden von Filtern usw.), aber dies ist eine andere Art von Programmierung.

Ich denke, das Generieren eines Scoreboards mit HTML/CSS wäre hier eine gute Idee, wie man Tabellen und Übersichten damit erzeugen kann, und dann versuchen, dies als pdf/bitmap/png zu exportieren, aber ich bin mir nicht sicher Wenn das die richtige Lösung ist.

Wie kann ich meine Anzeigetafel erstellen?

Antwort

4

Der einfachste Weg, um ein Bild von der Anzeigetafel zu schaffen, ist Anzeigers Ansicht (UIView) Benutzer mit können zu schaffen interagieren und wenn Sie das aktuelle Bild benötigen nehmen Sie einen Schnappschuss der Ansicht und im UIImage Instanz speichern. Ich habe eine Erweiterung von UIView erstellt, die das tun kann.

extension UIView { 
    func getImage() -> UIImage { 
     UIGraphicsBeginImageContextWithOptions(bounds.size, false, UIScreen.mainScreen().scale) 
     drawViewHierarchyInRect(bounds, afterScreenUpdates: true) 
     let image = UIGraphicsGetImageFromCurrentImageContext() 
     UIGraphicsEndImageContext() 
     return image 
    } 
} 

Dann können Sie einfach diese Methode aufrufen, auf jedem UIView und in Ihrem Fall auf Anzeigers Ansicht.

let scoreImage = scoreBoardView.getImage() 

Sie UIImage Instanz erhalten Sie später als PDF oder ein anderes Bildformat verwenden können.

+0

also sagen wir diese Methode auf einem UITableView, würde es funktionieren? – Joris416

+0

Ja, es wird funktionieren –