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