Я использую ShareKit (www.getsharekit.com), чтобы поделиться своими URL-адресами с Twitter и Facebook. Я хочу иметь возможность удалить всю дополнительную социальную сеть, на которую он указывает, но не уверен, где редактировать?Как настроить таблицу действий ShareKit?
ответ
От ShareKit/CORE/SHK.m:
[SHK setFavorites: (NSArray *)favs forType:(SHKShareType)type]
+ (void)setFavorites:(NSArray *)favs forType:(SHKShareType)type
{
[[NSUserDefaults standardUserDefaults] setObject:favs forKey:[NSString stringWithFormat:@"%@%i", SHK_FAVS_PREFIX_KEY, type]];
}
Favs, как:
[NSArray arrayWithObjects:@"SHKTwitter",@"SHKFacebook",@"SHKReadItLater",nil]
тип SHKShareType:
typedef enum
{
SHKShareTypeUndefined,
SHKShareTypeURL,
SHKShareTypeText,
SHKShareTypeImage,
SHKShareTypeFile
} SHKShareType;
в 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;
к следующим для каждого экземпляра заявления переключателя:
favoriteSharers = [NSArray arrayWithObjects:@"SHKFacebook", nil];
или что когда-либо другие опции, которые вы хотите поддержать (т.е. если вы хотите twitter и facebook добавьте @ «SHKTwitter» к массиву)
, который устранит другие opti но лист действий, который отображает параметры, не отражает изменения, и он все равно даст больше возможностей, которые также необходимо отключить.
Так, чтобы сделать это пойти в 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] autorelease];
as.item.shareType = type;
, чем в том же методе, удалите эту строку
// Add More button
[as addButtonWithTitle:SHKLocalizedString(@"More...")];
что удалит больше кнопки, но теперь код теперь будет смущать больше кнопки с помощью кнопки отмены, так чтобы исправить это, перейдите к этому методу:
- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated
и удалите следующие еще, если заявление
// More
else if (buttonIndex == sharers.count)
{
SHKShareMenu *shareMenu = [[SHKCustomShareMenu alloc] initWithStyle:UITableViewStyleGrouped];
shareMenu.item = item;
[[SHK currentHelper] showViewController:shareMenu];
[shareMenu release];
}
Что нужно сделать этому методу, так это взять кнопку, которая обычно является большей кнопкой и открывает больше опций. Поэтому, удалив его, код не имеет никакого связанного действия с кнопкой отмены, поэтому он просто закрывает и отпускает лист действий, эффективно создавая кнопку отмены
Жаль, что я не мог дать вам 10 голосов для такого подробного объяснения. Это именно то, что мне нужно - спасибо! –
Какой прекрасный ответ. Лучшая вещь, которую я видел на SO в то время ... и кто-то с низким представителем вроде меня! –
превосходное объяснение .. плюс 10 uppvotes – Hadi
См. my answer на другой ветке с более подробными пояснениями.
теперь легко настраивается без изменения кода ShareKit, в если вы используете ShareKit 2.0
В принципе, если вы используете только Facebook и Twitter, то проще не связываться с кодом ShareKit в. Вы можете легко создать собственный лист UIActionSheet с двумя кнопками и вызвать методы ShareKit's convenience share.
интересно, почему голос? С «беспорядком с кодом ShareKit» я имею в виду настроить код ShareKit в вашем приложении (скрывая кнопку «Дополнительно»), когда это необязательно. Это даст вам дополнительную работу, если вы хотите перейти на более новую версию ShareKit. Вы можете добиться того же, используя методы совместного использования ShareKit, непосредственно с классическим стандартным UIActionSheet. –
Для того, чтобы нежелательные услуги не отображались в листе действий, вы можете просто удалить из проекта соответствующие классы сервисов доступа.
Перейти к проекту -> Sharers -> Services -> выбрать файлы .h и .m соответствующей службы и удалить их.
Например, вариант Facebook можно удалить, удалив SHKFacebook.h и SHKFacebook.m.
Примечание: вам нужно будет проверить импорт класса, чтобы избежать ошибок.
Новый способ сделать это с последней версией 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];
}
Самый простой способ для редактирования «SHKSharers.plist» и сохранить услуги, которые вам нужны.
- 1. Настроить sharekit для iphone
- 2. ShareKit настроить внешний вид SHKSharer
- 3. Как настроить панель действий
- 4. Как состыковать таблицу действий
- 5. Objective-C - ShareKit настроить панель навигации Twitter
- 6. Как мне настроить таблицу активности?
- 7. ИОС - как назвать долю ShareKit от кнопки действий
- 8. Как настроить персонализированную панель действий?
- 9. Как мне настроить панель действий?
- 10. iOS- sharekit - настройки facebook
- 11. Как настроить таблицу MySQL?
- 12. Настроить лист действий QLPreviewController
- 13. Заполните таблицу действий массивом
- 14. Sharekit - Конфигурация Facebook
- 15. ShareKit с MonoTouch как?
- 16. ShareKit 2.0 crashing
- 17. ShareKit Локализация
- 18. Настроить панель действий в действииbarsherlock
- 19. Настроить деталь поверх панели действий
- 20. ShareKit Integration
- 21. андроид панель действий настроить иконки
- 22. Как настроить таблицу рейтинга SQL
- 23. Как настроить таблицу ui-grid?
- 24. Как настроить контекст/таблицу Users?
- 25. Как настроить панель действий в макете?
- 26. Настроить панель действий, как я могу достичь?
- 27. Как настроить цвет на панель действий?
- 28. Как настроить высоту панели действий программно
- 29. Как настроить панель действий Шерлока + плагин карты?
- 30. Как создать таблицу действий Удалить в IOS
... указывает на эту страницу. –