/ / Wie teile ich auf Facebook und Twitter (Social Framework), indem ich einen Screenshot mache? - iOS, Objective-C, Xcode, Swift, Uiviewcontroller

Wie teile ich auf Facebook und Twitter (Social Framework), indem ich einen Screenshot mache? - iOS, Objective-C, Xcode, Swift, Uiviewcontroller

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 № 1

Erstellen 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
}