MBProgressHUD — ваш верный помощник для индикаторов загрузки в iOS

14 Aug, 2024

Репозиторий давно не обновлялся

Последнее обновление было 1 год назад.

15,948
🔱 3,567
👥 545

Знакома ли вам ситуация, когда нужно быстро добавить индикатор загрузки в приложение, а писать кастомное решение нет времени? Именно для таких случаев существует MBProgressHUD — легковесная библиотека, которой доверяют уже более 16 тысяч разработчиков.

Что скрывается за скромным названием

MBProgressHUD (где HUD расшифровывается как Head-Up Display) — это небольшая, но очень полезная библиотека для отображения индикаторов выполнения и уведомлений в iOS-приложениях. Проект существует с 2009 года и за это время стал фактически стандартом де-факто для подобных задач.

Кстати, знаете, почему разработчики так любят эту библиотеку? Ответ прост: она решает конкретную задачу и делает это почти идеально.

Главные преимущества

  1. Простота интеграции — буквально пара строк кода:
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
// Ваш код
[MBProgressHUD hideHUDForView:self.view animated:YES];
  1. Гибкость настройки:
  • Изменение цвета и стиля индикатора
  • Добавление текстовых подсказок
  • Кастомизация анимации
  • Поддержка прогресс-бара
  1. Автоматическое позиционирование — HUD всегда появляется в центре экрана или указанного view, адаптируясь под разные размеры устройств.

Под капотом

Технически MBProgressHUD реализован как UIView-подкласс, что делает его интеграцию максимально простой. Библиотека написана на Objective-C, но отлично работает и в Swift-проектах через bridge.

Интересный факт: несмотря на свою простоту, проект поддерживает все версии iOS начиная с 6.0, что делает его отличным выбором для legacy-проектов.

Реклама

Где это особенно полезно

Вот несколько сценариев из моей практики, где MBProgressHUD буквально спасает:

  • Загрузка данных — показываем индикатор при запросе к API
  • Длительные операции — обработка изображений, экспорт данных
  • Фоновые задачи — синхронизация с сервером
  • Обратная связь — короткие уведомления об успешном действии

Стоит ли пробовать?

Если вы разрабатываете под iOS и еще не знакомы с MBProgressHUD, настоятельно рекомендую попробовать. Особенно библиотека понравится:

  • Начинающим разработчикам — минимум кода, максимум результата
  • Командам с tight deadlines — не надо изобретать велосипед
  • Поддерживающим старые проекты — совместимость с древними версиями iOS

Проект активно поддерживается, последний коммит был буквально пару недель назад. А с более чем 16 тысячами звезд на GitHub вы точно не останетесь без поддержки сообщества.

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

MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
hud.label.text = @"Загружаем данные...";

Как видите, ничего сложного. Так что смело добавляйте зависимость в свой проект и экономьте время на действительно важных задачах!

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.