分享功能使用的UIPopoverController在iOS9 过期,替换为popoverPresentationController

复制代码

记录一下 以备以后用到的时候拿出来看看。
以前使用的:
复制代码
1 if (UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Phone) {
2  presentViewController(vc, animated: true, completion: nil)
3 } else if (popover == nil || !popover!.popoverVisible) {
4                 popover = UIPopoverController(contentViewController: vc)
5              popover!.delegate = self                         popover?.presentPopoverFromRect(inviteView.frame, inView: self.view, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true) 
复制代码

现在使用:
if #available(iOS 8.0, *) { vc.modalPresentationStyle = UIModalPresentationStyle.Popover vc.popoverPresentationController?.sourceView = inviteView vc.popoverPresentationController?.sourceRect = inviteView.bounds vc.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection.Any presentViewController(vc, animated: true, completion: nil) } else { //DeviceUtils.isIOS7() if (UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Phone) { presentViewController(vc, animated: true, completion: nil) } else if (popover == nil || !popover!.popoverVisible) { popover = UIPopoverController(contentViewController: vc) popover!.delegate = self popover?.presentPopoverFromRect(inviteView.frame, inView: self.view, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true) } // Fallback on earlier versions }
复制代码

 

原文地址:https://www.cnblogs.com/fengmin/p/5708350.html