2

我想使用共享工具包发布文本(在 twitter、fb、邮件上),如下所示:

你好,

这是分享文字

单击此处做某事<===这应该是一个链接

点击这里到另一个东西<=== 这应该是一个链接

干杯

我有以下代码:

-(IBAction)shareOnTwitter:(id)sender
{
    [SHK setRootViewController:self];
    SHKItem *item;
    NSURL *url = [NSURL URLWithString:@"http://dosomething.com"];
    item = [SHKItem URL:url title:@"HI,\n\nThis is share text\n\nCheers"];
    [SHKTwitter shareItem:item];

}

- (IBAction)shareOnFacebook:(id)sender
{
    SHKItem *item;
    NSURL *url = [NSURL URLWithString:@"http://dosomething.com"];
    item = [SHKItem URL:url title:@"HI,\n\nThis is share text\n\nCheers"];
    [SHKFacebook shareItem:item];

}

- (IBAction)shareWithMail:(id)sender
{
    SHKItem *item;
    NSURL *url = [NSURL URLWithString:@"http://dosomething.com"];
    item = [SHKItem URL:url title:@"HI,\n\nThis is share text\n\nCheers"];
    [SHKMail shareItem:item];

}

但 url 附加在末尾。如何在我的文本中添加多个链接并将链接放在中间。

4

3 回答 3

1

我只是查看了文档。ShareKit 不是为共享长信息而设计的。只有文本、图像、文件或 URL(一次只有一个)。您将不得不自己研究对它们进行编程(或找到更好的库)。

于 2012-04-16T17:52:46.423 回答
1

基本上你想首先创建带有链接的 html 格式的文本,然后将其加载到文本 SHKItem 并共享它。

SHKItem *item = [SHKItem text:yourHTMLFormattedString];
[SHKMail shareItem:item];

它可能需要一些自定义,因为每个服务可能以不同的方式处理 html 格式的文本。但至少邮件共享器应该没有问题。

URL SHKItem 用于不同的目的 - 仅用于单个 URL 共享,每个共享者处理它的方式不同,例如。Facebook 自动从网页添加图片,Twitter 将其缩短等。

还有一个提示,以防万一您不知道 - ShareKit 2.0具有一些新功能,已更新和维护。

于 2012-04-17T20:52:13.323 回答
1

您将不得不更改处理这些服务的 ShareKit 类:

  • SHKFacebook.m:“-(BOOL)send”方法。
  • SHKTwitter.m:“-(void)showTwitterForm”方法。
  • SHKMail.m:“-(BOOL)sendMail”方法。

对于 Twitter 和 Mail 来说,这很容易,您只需要根据需要创建一个带有消息文本的 NSString。使用 Facebook,您必须更改附件,您可以在此处查看 facebook API以获取更多选项。

于 2012-04-20T20:04:50.717 回答