我正试图获得一张共享表,然后点击操作按钮点击查看和弹出操作项。问题是共享表必须来自指定的VC。在一个普通的VC中,我只想说自己。但在这种情况下,一旦操作动作项,我们通常会显示共享表的vc将被解除。这就是动作项与窥视和弹出一起工作的方式。如何通过下面的原始VC或VC告知共享表?
以下是共享表的代码。
//This is in the function createShareSheet
branchUniversalObject.showShareSheet(with: linkProperties, andShareText: "Check out this post!", from: self) { (string, bool) in
print ("done")
}
以下是操作项的代码:
override var previewActionItems: [UIPreviewActionItem] {
let action2 = UIPreviewAction(title: "Share", style: .default, handler: { previewAction, viewController in
//This basically gives data to the function that has the above code for creating the share sheet.
self.createShareSheet(self.selectedItem!)
return [action2]
})
答案 0 :(得分:0)
您没有为我提供足够的代码来提供准确的解决方案,但基本上您需要将“当前”视图控制器传递给“peek”视图控制器,以便它可以使用它来呈现共享表。
类似的东西:
func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? {
guard let detailVC = storyboard?.instantiateViewController(withIdentifier: "DetailViewController") as? DetailViewController else { return nil }
detailVC.rootVC = self
return detailVC
}
现在,您可以使用rootVC
操作处理程序中的peek
属性来显示右侧vc中的共享表