Keď v mojej aplikácii používateľ klikne na shareToFacebookTlačidlo, potrebujem, aby moja aplikácia urobila snímku obrazovky z iného ViewControleru, ktorý práve získal skóre, a zdieľala ho na Facebooku. Takže som napísal kód takto: (Funguje to celkom dobre),:
Moja pochybnosť teraz znie: aby som mohol vziať tento screenshot z iného ViewControleru, ktorý má skóre, aký kód by som do toho mal vložiť:
@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) }
shareToFacebook.addImage(UIImage(named: "//What should I put here ?"))
Po vyhľadaní som našiel riešenie ako: //I put this code inside the ViewController that I want to take screenshot
func snapshot() -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, false, UIScreen.mainScreen().scale)
self.view.drawViewHierarchyInRect(self.view.bounds, afterScreenUpdates: true)
let sreenshotImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return screenshotImage // Im getting error over here: saying: UIImageview not convertible to UIImage
}
Ale potom som dostal nejaké chyby ako:
Keď som dal: shareToFacebook.addImage(scoreVC.snapshot()) //Not in the ViewController I want to take screenshot
Mám chybu ako: Im getting missing argument for parameter #1
A pre vyššie uvedený kód, func snapshot() -> UIImageView {
Dostávam chybu, ktorá hovorí UIImageView not convertible to UIImage
Prosím, pomôžte mi ..! Vopred ďakujem..! Bola by to veľká pomoc!
odpovede:
0 pre odpoveď č. 1musíte deklarovať snapshot
do prehliadača skóre, alebo ak chcete, môžete použiť kategóriu na UIViewController
.
Teraz, keď chcete zdieľať obrázok, potrebujete:
shareToFacebook.addImage(scoreVC.snapshot())