Ich habe eine Klasse mit UIView und möchte einen URL-Link teilen, was ist der richtige Weg, das Freigabeblatt in UIView hinzuzufügen?Swift Freigabeblatt in UIView
Mein aktueller Code versucht, die Aktie Blatt über einen Button-Klick aufzurufen:
//share app
@IBAction func shareAppBtn(sender: AnyObject) {
print("shareAppBtn tapped")
let myWebsite = NSURL(string:"http://www.google.com/")
guard let url = myWebsite else {
print("nothing found")
return
}
let shareItems:Array = [url]
let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil)
self.window?.rootViewController!.presentViewController(activityViewController, animated: true, completion: nil)
}
Ich versuchte, die Stammansicht des aktuellen UIView zu verwenden, aber ich erhalte eine Fehlermeldung:
Warning: Attempt to present <UIActivityViewController: on <RAMAnimatedTabBarController.RAMAnimatedTabBarController: which is already presenting <SideMenu.UISideMenuNavigationController: Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior (<UIAlertController:)
Vielen Dank.
Warum rufst du 'presentViewController'on die RootViewController? Versuchen Sie es ohne das "self.window? .rootViewController! .'' – heikomania
Ich hatte ursprünglich versucht, dass tatsächlich, aber das gab mir einen Fehler, da ich es aus einer UIView aufrufen, der Fehler ist:' Verwendung von unaufgelösten Bezeichner 'presentViewController' ' – user3591436
Sie müssen es auf einem ViewController aufrufen, ja. Deine Taste und deine UIView und irgendwie in einem ViewController? – heikomania