【发布时间】:2021-05-18 17:35:01
【问题描述】:
我正在尝试制作一个绘图应用程序,我想添加活动视图控制器。它适用于 iPhone,但不会在 iPad 上显示整个视图控制器。根据我所阅读的内容,我尝试了许多不同的方法,但结果是一样的。任何帮助表示感谢。
代码: @IBAction func actionsTapped(_ sender: Any) {
// Setting description
let message = "Actions for your drawing"
// Get the image to save
let image = getImage()
let activityViewController : UIActivityViewController = UIActivityViewController(activityItems: [message, image], applicationActivities: nil)
// Ipad popup
activityViewController.popoverPresentationController?.sourceView = (self.view)
// Remove Ipad arrow
activityViewController.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection.down
activityViewController.popoverPresentationController?.sourceRect = CGRect(x: 150, y: 150, width: 0, height: 0)
// Pre-configuring activity items
activityViewController.activityItemsConfiguration = [
UIActivity.ActivityType.message,
UIActivity.ActivityType.print,
UIActivity.ActivityType.saveToCameraRoll,
UIActivity.ActivityType.airDrop
] as? UIActivityItemsConfigurationReading
// Exclude
activityViewController.excludedActivityTypes = [
UIActivity.ActivityType.postToWeibo,
UIActivity.ActivityType.addToReadingList,
UIActivity.ActivityType.postToFlickr,
UIActivity.ActivityType.postToVimeo,
UIActivity.ActivityType.postToTencentWeibo,
UIActivity.ActivityType.postToFacebook
]
activityViewController.isModalInPresentation = true
self.present(activityViewController, animated: true, completion: nil)
}
正如有人指出的那样,我尝试更改 sourceRect 中的高度和宽度不起作用。请参阅下面我更改的位置
activityViewController.popoverPresentationController?.sourceRect = CGRect(x: 150, y: 150, width: 0, height: 0)
到
activityViewController.popoverPresentationController?.sourceRect = CGRect(x: 150, y: 150, width: 500, height: 500)
我最初的想法是x和y会改变popup的位置,height和width会改变大小,但在sourceRect中似乎是相反的。
【问题讨论】: