我有一段代码可以在iPhone上很好地工作,但不能在iPad上工作。就像窗口在那里但不可见...
func userDidTapShare()
{
print("Share")
let mediaURL = URL(fileURLWithPath: Constants.Path.mainFolder.stringByAppendingPathComponent(path:mediaPath))
let activityItems: [Any] = [mediaURL, "Check this out!"]
let activityVC = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
activityVC.popoverPresentationController?.sourceView = self.view
activityVC.popoverPresentationController?.sourceRect = view.frame
self.present(activityVC, animated: true, completion: nil)
}
iPad上没有该窗口。
有什么主意吗?
答案 0 :(得分:1)
您的sourceRect
是一个问题。由于它占据了整个屏幕(因为您使用了视图框架),所以实际上会在屏幕框架的外部显示弹出框。
例如,如果您希望它显示在左上角之外
activityVC.popoverPresentationController?.sourceRect = CGRect(x: 0, y: 0, width: 1, height: 1)