[Ios] Создайте Собственный Загрузчик (Спиннер Или Uiactivityindicator) В Uikit.



Введение Все мы знаем, как выглядит стандартный индикатор загрузки (далее спиннер или загрузчик) на наших iOS-устройствах, который отображается при загрузке данных и других случаях, когда пользователь вынужден ждать окончания процесса.

Но мне всегда было интересно сделать свой собственный загрузчик для использования в своих проектах, поэтому я решил изучить эту сторону вопроса.

Конечно, вы можете с успехом использовать как стандартный загрузчик, так и популярные библиотеки (например ПХУД ), но давайте сегодня попробуем немного интересной настройки!

Протестировано на xcode 13.2.1, Swift 5.


[iOS] Создайте собственный загрузчик (спиннер или UIActivityIndicator) в UIKit.

Стандартный UIActivityIndicator iOS

1. Создайте свой собственный простой спиннер

Мы создадим свой класс, который будет использовать элементы фреймворка CoreAnimations — специального фреймворка для отображения анимации и прочего.

Из официальной документации:

Основные анимации Обеспечивает высокую частоту кадров и плавную анимацию без нагрузки на процессор и замедления работы приложения.

Большая часть работы по рисованию каждого кадра анимации выполняется за вас.

Вы устанавливаете параметры анимации, такие как начальная и конечная точки, а Core Animation делает все остальное, перекладывая большую часть работы на выделенное графическое оборудование для ускорения рендеринга.

Основными элементами, которые мы будем использовать, будут два класса CoreAnimations: 1) CAShapeLayer это слой, который может отображать кривые Безье UIBezierPath 2) CAReplicatorLayer — это слой, с помощью которого можно создавать копии определенного подслоя с различными геометрическими, временными и цветовыми преобразованиями.

Вкратце: с помощью UIBezierPath мы создадим фигуру, добавим ее в CAShapeLayer, а затем добавим экземпляр CAShapeLayer в CAReplicatorLayer, который «копируем» и заставим его вращаться с помощью анимации (фактически копии будут меняться прозрачность и это создаст эффект вращения).

Сразу приведу пример кода и прокомментирую его — такой стиль повествования мне нравится больше, чем отдельные куски кода с пояснениями, потому что его можно сразу скопировать себе и посмотреть:

   

final class CustomSpinnerSimple: UIView {

Теги: #Разработка для iOS #Swift #spinner #loader #UIActivityIndicator #Пользовательский счетчик #Пользовательский загрузчик
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.