Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Skeletons API
Как настроить
UIViewилиUIViewControllerпод протоколSkeletonsPresenterskeletonsConfigurationshowSkeletons()иhideSkeletons()в нужные местаviewsToSkeletone, добавив в него только те view, которые необходимо конвертировать в скелетоныПример добавления скелетонов на существующий контроллер
Screen.Recording.2023-03-01.at.17.52.57.mov
Как сконфигурировать "под себя"
Для конфигурации скелетонов существует класс
SkeletonsConfigurationкоторый определяется внутри объекта реализующего протоколSkeletonsPresenterВозможные опции для настройки:
Анимация
SkeletonsConfigurationдля настройки анимации принимает тип(SkeletonsLayer) -> CAAnimationGroup. Это означает, что при необходимости вы можете создать любую необходимую анимацию.Однако для удобства существует уже определенный класс
SkeletonsAnimationBuilderсо статическим методомcreateDirectionalGradientAnimation(_:)для создания анимаций в одну из сторон:Screen.Recording.2023-03-01.at.19.28.09.mov
Screen.Recording.2023-03-01.at.19.27.51.mov
Цвет
За настройку цвета отвечает параметр
skeletonsBackgroundColor: основной цвет скелетонов, им будет заливаться фон и выделяться borderФорма
Форму можно настраивать отдельно для
UILabel,UITextView,UIImageViewи остальных вью.Например, картинки можно сделать круглыми, а лейблы прямоугольные с закругленными краями:
Что если нужно больше?
Если стандартной настройки не хватает, то в конфигуратор можно передать объект, соответствующий протоколу
SkeletonsConfigurationDelegateчерез который можно настроить слой скелетона для каждой вью отдельно