iOS 9中PopoverController的正确代码是什么,可以为此代码提供正确的代码?
@IBAction func share(sender:UIBarButtonItem){
let activityViewController = UIActivityViewController (
activityItems: [(webview.request?.URL!.absoluteString)! as NSString],
applicationActivities: nil)
if UIDevice.currentDevice().userInterfaceIdiom == .Pad {
//iPad
let activityPopover = UIPopoverController(contentViewController: activityViewController)
activityPopover.presentPopoverFromBarButtonItem(self.shareButton, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true)
}
else
{
//iPhone
presentViewController(activityViewController, animated: true, completion: nil)
}
}
}
答案 0 :(得分:1)
你的代码很古老。你应该扔掉所有这些。在iOS 8和iOS 9中,呈现的控制器适应。 UIActivityViewController已经在iPad上自动弹出。只要出示它,就会发生正确的事情。
当然,您必须为其提供sourceView
和sourceRect
或条形按钮项目来源。否则,你会在iPad上崩溃。但任何 popover的情况都是如此,所以你不能对它感到惊讶。