github.com/PavelKatunin/DownloadButton
![](https://habrastorage.org/files/dae/ea8/3b9/daeea83b9a1c4e1e8ad871f0d5d452f5.png)
Недавно появилась потребность сделать кнопку загрузки для видео, сам этап загрузки был очень похож на стандартную кнопку загрузки приложений в Appstore, но только линия, отображающая уже загруженные данные, должна была быть снаружи. Я подумал, что такой контрол может быть удобен для отображения загрузки разных вещей и что он может пригодиться где-то еще — и вынес его в отдельный фреймворк и оформил в виде cocoapods. Опубликован под Apache 2.0.
Очень приветствуется использование, редактирование кода, заведение issue на github, предложения по новым фичам и отправка пул реквестов.
За дефолтный внешний вид я взял похожий на тот, что использует Apple в Appstore (ну а какой еще?).
![](https://habrastorage.org/files/61b/e83/f83/61be83f831d04b8e9890055c2bd66780.gif)
Кнопки можно кастомизировать и довести например вот до такого состояния:
![](https://habrastorage.org/files/e2f/bf0/de3/e2fbf0de320848f290e4e1d1f97330fa.gif)
Где это имело смысл, я постарался сделать возможность редактирования через IB (IB_DESIGNABLE, IBInspectable):
![](https://habrastorage.org/files/4df/a9e/3f8/4dfa9e3f8d6447c3bdeb7b4966393b44.gif)
Подключается он как и все поды просто, достаточно 2-х строчек:
pod "DownloadButton" #import <DownloadButton/PKDownloadButton.h>
В репозитории есть Sample project. Вот он github.com/PavelKatunin/DownloadButton/tree/master/Example
Проект еще сырой, и ему еще нужно обеспечить CI и тестирование.
Буду рад если кто-то будет использовать его в своих проектах.
В комментариях предлагаю обсудить:
Какие UI компоненты из приложений Apple вы используете в своих продуктах, но при этом они не предоставлены в стандартном iOS SDK?
ссылка на оригинал статьи http://habrahabr.ru/post/259329/
Добавить комментарий