App Store style кастомизируемая кнопка загрузки

    github.com/PavelKatunin/DownloadButton

    Недавно появилась потребность сделать кнопку загрузки для видео, сам этап загрузки был очень похож на стандартную кнопку загрузки приложений в Appstore, но только линия, отображающая уже загруженные данные, должна была быть снаружи. Я подумал, что такой контрол может быть удобен для отображения загрузки разных вещей и что он может пригодиться где-то еще — и вынес его в отдельный фреймворк и оформил в виде cocoapods. Опубликован под Apache 2.0.

    Очень приветствуется использование, редактирование кода, заведение issue на github, предложения по новым фичам и отправка пул реквестов.

    За дефолтный внешний вид я взял похожий на тот, что использует Apple в Appstore (ну а какой еще?).

    Кнопки можно кастомизировать и довести например вот до такого состояния:

    Где это имело смысл, я постарался сделать возможность редактирования через IB (IB_DESIGNABLE, IBInspectable):

    Подключается он как и все поды просто, достаточно 2-х строчек:
    pod "DownloadButton"
    
    #import <DownloadButton/PKDownloadButton.h>
    


    В репозитории есть Sample project. Вот он github.com/PavelKatunin/DownloadButton/tree/master/Example
    Проект еще сырой, и ему еще нужно обеспечить CI и тестирование.

    Буду рад, если кто-то будет использовать его в своих проектах.

    В комментариях предлагаю обсудить:
    Какие UI-компоненты из приложений Apple вы используете в своих продуктах, но при этом они не предоставлены в стандартном iOS SDK?
    • +15
    • 7.7k
    • 3
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 3

      +1
      Классная работа! Слава iOS 7+, теперь стали заказывать кастомных контролов на порядок меньше. А остальные слишком специфичны, чтобы переиспользовать их еще где-то.
        0
        Обычно больше времени уходит на поддержку кастомизации компонента, оформление проекта и документирование, поэтому даже просто до гитхаба мало что доходит.
        И макросы свои тянуть в компонент я бы не стал.
          +1
          За реализацию «пода» спасибо.

          Only users with full accounts can post comments. Log in, please.