【问题标题】:How to launch SLComposeServiceViewController from another UIViewController如何从另一个 UIViewController 启动 SLComposeServiceViewController
【发布时间】:2019-05-28 14:49:29
【问题描述】:

我有一个带有共享扩展的 iOS 应用。

Share Extension 的主类继承了SLComposeServiceViewController,在Storyboard 中,我勾选了“是初始视图控制器”。但是,在最终启动共享扩展之前,我需要另一个自定义 view 来呈现更多选项。

我在情节提要中添加了一个额外的ViewController,并在容器内添加了一个按钮。这个“分享”按钮应该会启动原来的分享扩展,Share View Controller Scene

我添加了一个UIViewControllerActionsMenuController,并将其设置为Àction Menu Controller 的自定义类。

class ActionMenuController: UIViewController {
    @IBAction func launchShareExtension(_ sender: Any) {
    }

    override func viewDidLoad() {
        super.viewDidLoad()
    }
}

不知怎的,我需要让按钮的动作函数launchShareExtension,切换场景到Share View Controller

看来我应该使用 segues 来执行此操作,但我还没有找到为我的 Share View Controller 定义 segue 标识符的方法

还有其他方法可以启动ViewControllerSLComposeServiceViewController,或者有没有办法使用segues 来实现?

【问题讨论】:

    标签: ios swift segue ios8-share-extension slcomposeviewcontroller


    【解决方案1】:

    我发现在普通的UIViewControllerSLComposeServiceViewController 之间添加一个转场可以直接在故事板编辑器中完成,但是 单击按钮上的 + ctrl 并将出现的蓝线拖动到共享视图控制器场景。将出现一个小的 segue 选项菜单,选择 show 将启动和共享扩展并替换操作菜单。

    我在这个故事板中找到了灵感tutorial 大约一半。它涵盖了故事板编辑的最基本知识。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      • 2015-02-10
      • 2023-04-07
      相关资源
      最近更新 更多