Да. Это займет немного работы, но это можно сделать следующим образом:
в 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];
или какие-либо другие опции, которые вы хотите поддерживать (например, если вы хотите, чтобы Twitter и Facebook добавили @"SHKTwitter"
, в массив)
, который исключит другие опции, но лист действий, который отображает опции, не будет отражать изменения, и он все равно даст дополнительную опцию, которую мы также должны отключить.
Так что для этого перейдите к SHKActionSheet.m
В этом методе вы можете при желании изменить заголовок с «Поделиться» на что-то более конкретное, т.е. «Поделиться с Facebook и Twitter». Для этого перейдите к следующему способу и внесите указанное изменение.
+ (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...")];
Причина, по которой мы должны удалить это, состоит в том, что раньше мы удалили кнопку «больше», а теперь мы должны убедиться, что код не перепутает любую другую кнопку с кнопкой «больше». Кнопку more пришлось удалить, потому что она открывала варианты использования других методов обмена, которые мы не хотим использовать пользователем. Если мы не удалим его, пользователь все равно сможет получить доступ к отключенному методу общего доступа.
Надеюсь, это поможет.