是的。这将需要一些工作,但可以按如下方式完成:
在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...")];
我们必须删除它的原因是因为之前我们删除了更多按钮,现在我们必须确保代码不会将任何其他按钮与更多按钮混淆。必须删除更多按钮,因为它显示了使用我们不希望用户使用的其他共享方法的选项。如果我们不删除它,用户仍然可以访问禁用的共享方法。
希望这可以帮助。