ios - 如何设置 UIActivityViewController Gmail 共享主题不同于正文

标签 ios iphone objective-c-blocks uiactivityviewcontroller

我正在使用 Google 的 Gmail 共享扩展程序。我正在提供以下实现:

- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType;

- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController;

- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType;

对于邮件客户端(来自 Apple),它进入下面的委托(delegate)方法,但 Gmail

- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType;

相反,它显示的主题与正文相同。我想知道如何为 Gmail 共享选项设置不同于正文的主题。

最佳答案

解决方案非常简单 - 需要将 NSUrl 传递给事件项目列表。

这是 Swift 上的一个示例:

ActivityViewController(activityItems: [URL(string: "https://www.apple.com")!])

这是 Xamarin 的:

    public override NSObject GetItemForActivity(UIActivityViewController activityViewController, NSString activityType)
    {
        NSObject item = null;
        if (activityType == UIActivityType.Mail)
        {
            item = PlaceholderItem;
        }
        else if (activityType == new NSString(_gmailActivityId))
        {
            item = NSUrl.FromString("https://www.apple.com");
        }
        else if (activityType == new NSString(_sparkActivityId))
        {
            item = PlaceholderItem;
        }
        return item ?? base.GetItemForActivity(activityViewController, activityType);
    }

从这个角度来看,如果您将传递任何字符串项 - 它们将被复制。 App Store、Facebook 和其他公司正在传递 URL 或 URL+图像——这看起来也由 Gmail 客户端以某种方式处理。

关于ios - 如何设置 UIActivityViewController Gmail 共享主题不同于正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30350465/

相关文章:

ios - 将触摸事件转发到 UITableView 以产生惯性滚动

iphone - 如何使用动画在 iPhone 启动画面上添加两个文本

ios - 如何使用 NSURLSession 从 block 中获取数据?

ios - 从两个不同的线程调用相同的函数

iOS自定义UINavigationBar - barButtonItems接收触摸越界

ios - 如何使用 API 调用 Ionic 上的数据

ios - 仅在 UIWebView 中显示站点的一部分

iphone - 在 xcode/objective-c 项目中使用 C 文件

iphone - 解析后的网页背景在iphone中不透明

Objective-C __block 关键字和线程安全