In meiner App, wenn der Benutzer klickt shareToFacebook
Ich brauche meine App, um einen Screenshot von einem anderen ViewController, der gerade die Punktzahl hat, aufzunehmen und auf Facebook zu teilen. Also habe ich den Code so geschrieben: (Es funktioniert ziemlich gut):
@IBAction func sharetoFacebook() {
var sharetoFacebook : SLComposeViewController =
SLComposeViewController(forServiceType:
SLServiceTypeFacebook)
sharetoFacebook.setInitialText("WOW! I scored (rightCounter) right..! Wanna challenge me?")
shareToFacebook.addImage(UIImage(named: "//What should I put here ?"))
self.presentViewController(sharetoFacebook, animated:
true, completion: nil) }
Mein Zweifel ist nun: Um diesen Screenshot von einem anderen ViewController zu machen, der die Punktzahl hat, welchen Code soll ich hier einfügen:
shareToFacebook.addImage(UIImage(named: "//What should I put here ?"))
Übrigens, vielen Dank im Voraus! Es wäre eine große Hilfe!
Antworten:
0 für die Antwort № 1Erstellen Sie eine Erweiterung für UIView
und haben eine Snapshot-Methode. Dies wird zurückkehren UIImage
für jede Ansicht, einschließlich Unteransichten.
extension UIView {
func snapshot() -> UIImage {
UIGraphicsBeginImageContextWithOptions(bounds.size, false, UIScreen.mainScreen().scale)
drawViewHierarchyInRect(self.bounds, afterScreenUpdates: true)
let sreenshotImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return screenshotImage
}
}
Wenn Sie diese Methode auf VC stellen
func snapshot() -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, false, UIScreen.mainScreen().scale)
drawViewHierarchyInRect(self.view.bounds, afterScreenUpdates: true)
let sreenshotImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return screenshotImage
}