From 8d253d1458493d28c3fafcf5c19c855a3cb17574 Mon Sep 17 00:00:00 2001 From: Nikita Semenov Date: Thu, 30 Mar 2023 15:07:43 +0300 Subject: [PATCH] docs: added documentation for new Skeletonable callbacks API --- .../Skeletons.xcplaygroundpage/Contents.swift | 13 +++++++++++++ docs/tiuielements/skeletons.md | 16 ++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/TIUIElements/TIUIElements.app/Contents/MacOS/TIUIElements.playground/Pages/Skeletons.xcplaygroundpage/Contents.swift b/TIUIElements/TIUIElements.app/Contents/MacOS/TIUIElements.playground/Pages/Skeletons.xcplaygroundpage/Contents.swift index 5a8a9f4c..d2bb6abd 100644 --- a/TIUIElements/TIUIElements.app/Contents/MacOS/TIUIElements.playground/Pages/Skeletons.xcplaygroundpage/Contents.swift +++ b/TIUIElements/TIUIElements.app/Contents/MacOS/TIUIElements.playground/Pages/Skeletons.xcplaygroundpage/Contents.swift @@ -302,6 +302,19 @@ DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(3)) { titleSubtitleView.hideSkeletons() } +//: Если на конкретной view необходимо отслеживать появление скелетонов, то можно законформить ее под протокол Skeletonable: +extension DefaultPlaceholderImageView: Skeletonable { + public func skeletonsChangedState(_ state: SkeletonsState) { + switch state { + case .shown: + placeholderView.isHidden = false + + case .hidden: + placeholderView.isHidden = true + } + } +} + //: ## Тестовый сконфигурированный контроллер import PlaygroundSupport diff --git a/docs/tiuielements/skeletons.md b/docs/tiuielements/skeletons.md index 0fd4d72a..a8dad19a 100644 --- a/docs/tiuielements/skeletons.md +++ b/docs/tiuielements/skeletons.md @@ -324,6 +324,22 @@ DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(3)) { } ``` +Если на конкретной view необходимо отслеживать появление скелетонов, то можно законформить ее под протокол Skeletonable: + +```swift +extension DefaultPlaceholderImageView: Skeletonable { + public func skeletonsChangedState(_ state: SkeletonsState) { + switch state { + case .shown: + placeholderView.isHidden = false + + case .hidden: + placeholderView.isHidden = true + } + } +} +``` + ## Тестовый сконфигурированный контроллер ```swift