swift - 如何在iOS 13 Share sheet中实现 "Options"

在 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/

相关文章:

reactjs - React - 组件在重新渲染后不更新

android-management-api - Google Pixel 设备在发出重启命令后重启

database - 使用扇出写入方法根据隐私设置(PostgreSQL、Redis)更新 Feed

reactjs - 如何动态更改 React Native 堆栈导航屏幕的标题?

spring - 如何在没有 Spring Security 或 Spring Boot 的情况下禁

python - TensorFlow 无法将字符串类型的 Tensor 复制到设备

firebase - 是否可以为不活动实现自动注销功能?

node.js - 将参数/通配符定义为 npm 脚本键/名称的一部分

c# - 如何在 ConfigureServices 方法中使用 ASP.NET Core 2.1

python - 如何在 pyspark 上创建分层拆分训练、验证和测试集?