在 iOS 13 中,许多不同的系统应用程序(例如照片和 Safari)在其共享表中添加了“选项”。用户可以选择他们想要导出的内容(URL/Web 存档),有时甚至可以选择(包括所有照片数据)。
如何实现?我找不到这方面的任何文档。
目前我的实现是
let activityViewController = UIActivityViewController(activityItems: [myText], applicationActivities: nil)
activityViewController.popoverPresentationController?.sourceView = self
activityViewController.popoverPresentationController?.sourceRect = ...
MyViewController.shared?.present(activityViewController, animated: true, completion: {})
最佳答案
image.jpg 文件是您必须在拍摄的照片或图库中选择的文件。 使用此代码
let image : UIImage = UIImage(named: "image.jpg")!
let activityViewController : UIActivityViewController = UIActivityViewController(
activityItems: [image], applicationActivities: nil)
// This lines is for the popover you need to show in iPad
activityViewController.popoverPresentationController?.sourceView = (sender as! UIButton)
// This line remove the arrow of the popover to show in iPad
activityViewController.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection.allZeros
activityViewController.popoverPresentationController?.sourceRect = CGRect(x: 150, y: 150, width: 0, height: 0)
// Anything you want to exclude
activityViewController.excludedActivityTypes = [
UIActivityTypePostToWeibo,
UIActivityTypePrint,
UIActivityTypeAssignToContact,
UIActivityTypeSaveToCameraRoll,
UIActivityTypeAddToReadingList,
UIActivityTypePostToFlickr,
UIActivityTypePostToVimeo,
UIActivityTypePostToTencentWeibo
]
self.presentViewController(activityViewController, animated: nil)
https://stackoverflow.com/questions/57942596/
相关文章:
android-management-api - Google Pixel 设备在发出重启命令后重启
database - 使用扇出写入方法根据隐私设置(PostgreSQL、Redis)更新 Feed
reactjs - 如何动态更改 React Native 堆栈导航屏幕的标题?
spring - 如何在没有 Spring Security 或 Spring Boot 的情况下禁
python - TensorFlow 无法将字符串类型的 Tensor 复制到设备
node.js - 将参数/通配符定义为 npm 脚本键/名称的一部分