ios - 使用 Peek 和 Pop 共享工作表

标签 ios swift ios11 swift4

我试图在查看和弹出操作项上点击操作按钮后显示共享表。问题是份额表必须来自指定的 VC。在普通的 VC 中,我只会说 self。但在这种情况下,一旦点击操作项,我们通常呈现共享表的 vc 就会被忽略。这就是操作项与 peek 和 pop 的配合方式。我如何告诉共享表是从原始 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]
    })

最佳答案

您没有提供足够的代码让我给出准确的解决方案,但基本上您需要将“当前” View Controller 传递给“peek” View Controller ,以便它可以使用它来呈现共享表。

类似于:

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
}

现在您可以在 peek 操作处理程序中使用 rootVC 属性来显示右侧 vc 中的共享表

关于ios - 使用 Peek 和 Pop 共享工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47145196/

相关文章:

ios - 更改仅适用于 iPhone 4s 的标签中的字体大小,这可能吗?

ios - 水平 ScrollView iOS

ios - 为什么克隆变量仍然影响原始对象? swift

c# - WKWebview未加载网站字体

swift - 从字节数据中提取 float

ios - 在 iOS 11 上看到 UIImage 的一些奇怪的东西

ios - 证书固定在 swift 3/Alamofire 4 中停止工作?

ios - 快速解析Json数据

ios - 通过 URL Scheme 或其他方式打开 iOS 11 文件应用

ionic-framework - $cordovaCamera.getPicture 在 iOS 11 中不起作用