【问题标题】:How to implement "Options" in iOS 13 Share sheet如何在 iOS 13 共享表中实现“选项”
【发布时间】:2020-01-16 10:47:27
【问题描述】:

在 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: {})

【问题讨论】:

  • UIActivityViewController 没有 API 更改,所以这似乎只有 Apple 应用程序才能做到。

标签: swift share uiactivityviewcontroller ios13 ios-sharesheet


【解决方案1】:

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)

【讨论】:

  • 这并没有告诉我如何实现自定义选项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多