如何在UIActivityViewController中设置邮件主题?

我想在UIActivityViewController设置电子邮件共享的主题,也想分享到Twitter。 我知道在Twitter上如果我们想分享 – 我们需要压缩文本到140个字符。 我查了很多SO解决scheme,但没有任何工作。

在最新的iOS版本中是否解决了这个问题? 任何其他“工作解决scheme”?

看起来像emreoktem的解决scheme – 发送setValue:forKey:UIActivityViewController – 没有logging。

在iOS 7及更高版本中,您可以在符合UIActivityItemSource协议的对象中实现activityViewController:subjectForActivityType:方法,以logging的方式执行此操作。

请在下面的代码中查看设置您的电子邮件主题的电子邮件:

 UIActivityViewController* avc = [[UIActivityViewController alloc] initWithActivityItems:@[@"Your String to share"] applicationActivities:nil]; [avc setValue:@"Your email Subject" forKey:@"subject"]; avc.completionHandler = ^(NSString *activityType, BOOL completed) { // ... }; 

这里行

[avc setValue:@“Your email Subject”forKey:@“subject”];

如果用户在UIActivityViewController中select电子邮件选项,则将主题设置为“您的电子邮件主题”。

我希望这有助于…

对于Swift 2.0+和ios 8.0+

 let title = "Title of the post" let content = "Content of the post" let objectsToShare = [title, content] let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil) activityVC.setValue(title, forKey: "Subject") self.presentViewController(activityVC, animated: true, completion: nil)