4

デフォルトでは、SharekitはactionSheetを使用してアイテムを共有します。フェイスブック、ツイッター、メールなどの特定のアイテムだけUIViewを、actionSheetではなく小さなアイテムで表示する方法はありますか?

編集: 別の言い方をすれば:

私の中には3つのボタンがありUIView、1つはフェイスブック、ツイッター、メール用です。SharekitのactionSheetは使いたくありません。Sharekitで自分のを押してFBConnect、Twitter、Eメール共有を1つずつ呼び出す方法はありますUIButtonか?

4

3 に答える 3

3

ここで見つけました:

http://getsharekit.com/docs/#specific-service

于 2011-03-16T08:57:42.193 に答える
3

はい。少し手間がかかりますが、以下のようにできます。

このメソッドをSHK.m見つける

+ (NSArray *)favoriteSharersForType:(SHKShareType)type

変更する

switch (type) 
{
    case SHKShareTypeURL:
        favoriteSharers = [NSArray arrayWithObjects:@"SHKTwitter",@"SHKFacebook",@"SHKReadItLater",nil];
        break;

    case SHKShareTypeImage:
        favoriteSharers = [NSArray arrayWithObjects:@"SHKTwitter",@"SHKFacebook",@"SHKReadItLater",nil];
        break;

    case SHKShareTypeText:
        favoriteSharers = [NSArray arrayWithObjects:@"SHKTwitter",@"SHKFacebook",@"SHKReadItLater",nil];
        break;

    case SHKShareTypeFile:
        favoriteSharers = [NSArray arrayWithObjects:@"SHKTwitter",@"SHKFacebook",@"SHKReadItLater",nil];
        break;

switch ステートメントの各インスタンスについて、以下に

favoriteSharers = [NSArray arrayWithObjects:@"SHKFacebook", nil];

または、サポートしたいその他のオプション (つまり@"SHKTwitter"、配列に twitter と facebook を追加するだけの場合)

これにより、他のオプションが削除されますが、オプションを表示するアクション シートには変更が反映されず、さらに多くのオプションが表示されるため、これも無効にする必要があります。

そのためにはSHKActionSheet.m

この方法では、必要に応じてタイトルを「共有」からより具体的なものに変更できます。「フェイスブックやツイッターでシェア」。これを行うには、次の方法に移動し、示された変更を行います。

+ (SHKActionSheet *)actionSheetForType:(SHKShareType)type

変化する

SHKActionSheet *as = [[SHKActionSheet alloc] initWithTitle:SHKLocalizedString(@"PUT YOUR NEW TITLE HERE")
                                              delegate:self
                                     cancelButtonTitle:nil
                                destructiveButtonTitle:nil
                                     otherButtonTitles:nil];
as.item = [[SHKItem alloc] init];
as.item.shareType = type;

次に、同じ方法で次の行を削除します。

   // Add More button
[as addButtonWithTitle:SHKLocalizedString(@"More...")];

これを削除する必要があるのは、以前に [その他] ボタンを削除したためです。コードが他のボタンと [その他] ボタンを混同しないようにする必要があります。[詳細] ボタンは、ユーザーに使用してほしくない他の共有方法を使用するオプションが表示されたため、削除する必要がありました。削除しなければ、ユーザーは無効な共有方法に引き続きアクセスできます。

お役に立てれば。

于 2011-03-13T14:59:09.920 に答える
1

ShareKit 2.0 の最新バージョンでこれを行う新しい方法は、SHKConfigurator の次のメソッドを上書きすることです (DefaultSHKConfigurator.m を拡張します)。

// SHKActionSheet settings
- (NSNumber*)showActionSheetMoreButton {
    return [NSNumber numberWithBool:true];// Setting this to true will show More... button in SHKActionSheet, setting to false will leave the button out.
}

/*
 Favorite Sharers
 ----------------
 These values are used to define the default favorite sharers appearing on ShareKit's action sheet.
 */
- (NSArray*)defaultFavoriteURLSharers {
    return [NSArray arrayWithObjects:@"SHKTwitter",@"SHKFacebook", @"SHKReadItLater", nil];
}
- (NSArray*)defaultFavoriteImageSharers {
    return [NSArray arrayWithObjects:@"SHKMail",@"SHKFacebook", @"SHKCopy", nil];
}
- (NSArray*)defaultFavoriteTextSharers {
    return [NSArray arrayWithObjects:@"SHKMail",@"SHKTwitter",@"SHKFacebook", nil];
}
于 2013-05-09T14:05:53.977 に答える