与Peek和Pop共享表

时间:2017-11-06 20:27:45

标签: ios swift ios11 swift4

我正试图获得一张共享表,然后点击操作按钮点击查看和弹出操作项。问题是共享表必须来自指定的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]
    })

1 个答案:

答案 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中的共享表