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のみ(一度に1つのみ)。あなたは自分でそれらをプログラミングすることを掘り下げる必要があります(またはより良いライブラリを見つける)。

于 2012-04-16T17:52:46.423 に答える
1

基本的には、最初にリンクを含むhtml形式のテキストを作成し、それをテキストSHKItemにロードして共有します。

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

各サービスはhtml形式のテキストを異なる方法で処理する可能性があるため、カスタマイズが必要になる場合があります。しかし、少なくともメール共有者は問題がないはずです。

URL SHKItemは、目的が異なります。単一のURL共有専用であり、各共有者はそれを異なる方法で処理します。FacebookはWebページから画像を自動的に追加し、Twitterは画像を短縮します。

もう1つのヒントは、あなたが気付いていない場合に備えて、いくつかの新機能を備えた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では、添付ファイルを変更する必要があります。その他のオプションについては、ここでFacebookAPIを確認できます。

于 2012-04-20T20:04:50.717 に答える