【问题标题】:iOS Share Sheet and Copy options paste link not working in certain situationsiOS 共享表和复制选项粘贴链接在某些情况下不起作用
【发布时间】:2019-07-20 07:55:03
【问题描述】:

我们在共享表复制活动方面遇到了一个相当奇怪的问题。

我们只是对内容进行了简短的介绍,然后我们提供了指向共享活动的链接,如...

    guard let viewController = vc, let sourceView = viewController.view, let url = URL(string: link) else { 
        return
    }

    let activityViewController = UIActivityViewController(activityItems: [text, url], applicationActivities: nil)

    viewController.present(activityViewController, animated: true, completion: nil)
    activityViewController.popoverPresentationController?.sourceView = sourceView

除了在我们的内部聊天中外,这一切都很好。在我们的聊天文本视图中,文本简介通过,但链接未按预期显示在文本旁边。

有问题的文本视图是SlackTextViewController(我知道现在已弃用,我们已经使用了一段时间)。我找不到任何表明他们正在以任何方式清理输入或删除链接的文档,但它很可能与该组件有关。我尝试了 textView:shouldChangeTextInRange 的裸实现来打印 textView 接收到的文本,果然,那里没有链接。

为了完整起见,这就是它的样子。

override func textView(_: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
    print(text)
    return true
}

另外,如果您直接复制/粘贴链接,也可以正常工作。如果您将共享文本复制为纯文本并粘贴,它也可以正常工作。这使我相信在处理共享文本时这里缺少一些东西。

有人在粘贴中遇到过这个问题吗?是否需要实施一些生命周期/委托来处理共享文本?

【问题讨论】:

    标签: ios swift ios-sharesheet slacktextviewcontroller


    【解决方案1】:

    希望这对其他人有所帮助 - 这里的问题是 slacktextviewcontroller 会覆盖默认粘贴行为,这会导致共享副本出现一些问题,它粘贴 文本,而不是复制的 网址

    【讨论】:

      猜你喜欢
      • 2018-11-28
      • 2011-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-27
      • 2021-09-17
      • 2018-12-17
      相关资源
      最近更新 更多