Хобрук: Ваш путь к мастерству в программировании

Есть ли способ настроить Sharekit?

По умолчанию Sharekit использует лист действий для обмена элементами. Есть ли способ показать только определенные элементы, например только facebook, twitter и электронную почту, в маленьком UIView, а не в листе действий?

Редактировать. Другими словами:

У меня есть 3 кнопки в моем UIView, одна для фейсбука, твиттера и электронной почты. Я не хочу использовать лист действий Sharekit. Есть ли способ вызвать FBConnect, Twitter и обмен электронной почтой, один за другим, в Sharekit, нажав мои UIButton?


Ответы:


1

я нашел это здесь:

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

16.03.2011

2

да. Это займет немного работы, но это можно сделать следующим образом:

в 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" в массив)

это устранит другие параметры, но лист действий, отображающий параметры, не будет отражать изменение, и он по-прежнему будет давать дополнительный параметр, который нам также необходимо отключить.

Для этого перейдите на 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...")];

Причина, по которой мы должны удалить это, заключается в том, что ранее мы удалили кнопку «Дополнительно», и теперь мы должны убедиться, что код не путает никакую другую кнопку с кнопкой «Дополнительно». Кнопку «Дополнительно» пришлось удалить, потому что она показывала варианты использования других методов обмена, которые мы не хотим, чтобы пользователь использовал. Если бы мы не удалили его, пользователь все равно смог бы получить доступ к отключенному методу общего доступа.

Надеюсь это поможет.

13.03.2011
  • спасибо за ваш ответ, но я уже сделал их. ты не понял меня. я не хочу отображать своих пользователей (лицо, твиттер, электронная почта) в UIActionSheet. я хочу отобразить его в моем smallView. Я поместил туда 3 кнопки для лица, твиттера и электронной почты. Я надеюсь, что теперь ясно. 13.03.2011
  • Ой, простите. Я неправильно понял. Я не уверен, смогу ли я помочь вам с тем, о чем вы просите, но если я выясню это, я отредактирую свой ответ. 14.03.2011
  • Я понял. Вы хотите, чтобы я отправил еще один ответ, или вы уже поняли это? 21.03.2011

  • 3

    Новый способ сделать это в последней версии 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];
    }
    
    09.05.2013
    Новые материалы

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..

    React Hooks: основы деструктуризации массива
    Kent C. Dodds написал классный пост о том, как грядущая функция React под названием Hooks работает на капоте. Предстоящий хук React useState основан на деструктурировании массива, давайте..

    Пакеты R, используемые в Tesla
    Добро пожаловать обратно! R — очень популярный язык программирования, используемый множеством компаний, включая Tesla! Итак, давайте взглянем на некоторые пакеты R, которые использует Tesla...

    Сокращение и слияние токенов для эффективных моделей VL: обзор
    Часто в задачах, связанных с компьютерным зрением и НЛП, вычислительно затратная и требующая большого объема памяти обработка становится препятствием для более быстрого логического вывода модели, а..