【问题标题】:UIActivityViewController use items in specific actionsUIActivityViewController 在特定动作中使用项目
【发布时间】:2013-02-09 00:32:11
【问题描述】:

我有一个 UIActivityViewController,我想让它拥有 safari 所做的所有动作等等。目前我只能收到邮件、消息、推特、脸书和半工作副本。我使用 url 设置活动项目数组。然后,我添加了该 url 的 nsstring 并将其与 url 一起添加,一切都很好,就像复制字符串一样复制效果更好,然后我将其粘贴到更多区域。但是当也有字符串时,twitter 和 facebook 将 url 添加到他们的文本中并包含链接。我怎样才能做到让他们没有文字,只有链接?另一个问题是如何在 twitter 和 facebook 活动的链接中显示 web 视图预览?它只显示一个 Safari 图标。第三个问题是如何打印网页的内容?

【问题讨论】:

    标签: objective-c printing uiactivityviewcontroller uiactivity


    【解决方案1】:

    为不同的服务提供不同的项目,您可以继承UIActivityItemProvider。它符合UIActivityItemSource协议,所以你实现方法:

    - (id)activityViewController:(UIActivityViewController *)activityViewController
             itemForActivityType:(NSString *)activityType {
        // compare `activityType` and return what you want
    }
    

    【讨论】:

      【解决方案2】:

      我发现了这个https://www.albertopasca.it/whiletrue/objective-c-custom-uiactivityviewcontroller-icons-and-text/,它展示了如何为每个服务做不同的内容

      【讨论】:

        【解决方案3】:

        对于 twitter 或 facebook,您需要使用正确类型的 twitter/facebook 帖子(请参阅底部的常量 here)和有效负载来设置 UIActivity。

        【讨论】:

        • 我有它们,但它会设置文本和网址。所以它添加了两次 url 基本上是因为活动项目是 url 和字符串。但在 Safari 中,它们只有 url,并且复制功能正在复制一个字符串,因为我可以将其粘贴到消息中
        • @MaxHasADHD 您能否发布一些代码,其中包含您的 activityItems 的内容以及您的期望。看起来如果您只将 url 作为 NSString,您将能够复制它 并且 twitter 会将其插入为文本,而不是 url。
        • 是的,我希望它是一个 NSString 活动项,但如果希望 twitter 和 facebook 将其作为 url 而不是初始文本包含在内。如果我同时包含,则 twitter 和 facebook 将其设置为文本和 url。如果我只使用 url 并复制它,那么我无法将其粘贴到消息应用程序中,safari 可以。有没有办法告诉 twitter 只使用 url 而不是字符串而不使用自定义活动类?如果我必须上课,我可以使用一个完整的图标,让它看起来一样吗?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-26
        • 2013-01-15
        • 1970-01-01
        • 2011-02-23
        相关资源
        最近更新 更多