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 a32529a3..fb8e5596 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 @@ -86,7 +86,7 @@ class CanShowAndHideSkeletons: BaseInitializableViewController { } @objc private func toggleSkeletons() { - // Т.к. передается nil, скелетонится будут все subview (в данном случае view.subview == [button]) + // Т.к. передается nil, скелетонится будут все subview (в данном случае view.subview == [button, label, imageView]) showSkeletons(viewsToSkeletone: nil, .init()) DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(3)) { [weak self] in @@ -144,7 +144,14 @@ class CustomConfigurableSkeletonableView: UIView, SkeletonsPresenter { - форма - отступы - > При этом все view делятся на: `UIView` с subviews (контейнеры), `UIView` без subviews, `UILabel`, `UITextView` и `UIImageView`. Для контейнеров доступна только настройка `borderWidth`, а `borderColor` используется тот же, что и для других скелетонов + При этом все view делятся на: + - `UIView` с subviews (контейнеры) + - `UIView` без subviews + - `UILabel` + - `UITextView` + - `UIImageView` + + > Для контейнеров доступна только настройка `borderWidth`, а `borderColor` используется тот же, что и для других скелетонов ### Анимация @@ -154,14 +161,14 @@ class CustomConfigurableSkeletonableView: UIView, SkeletonsPresenter { ```swift public enum SkeletonsAnimationDirection { - case leftToRight - case rightToLeft - case topToBottom - case bottomToTop - case topLeftToBottomRight - case topRightToBottomLeft - case bottomLeftToTopRight - case bottomRightToTopLeft + case leftToRight + case rightToLeft + case topToBottom + case bottomToTop + case topLeftToBottomRight + case topRightToBottomLeft + case bottomLeftToTopRight + case bottomRightToTopLeft } ``` */ @@ -233,7 +240,7 @@ var confWithPadding: SkeletonsConfiguration { ```swift public protocol SkeletonsConfigurationDelegate: AnyObject { - func layerDidConfigured(forViewType type: SkeletonLayer.ViewType, layer: SkeletonLayer) + func layerDidConfigured(forViewType type: SkeletonLayer.ViewType, layer: SkeletonLayer) } ``` */ @@ -256,7 +263,7 @@ let confWithDelegate = SkeletonsConfiguration(configurationDelegate: delegate) Т.к. размеры view на основе которой строятся скелетоны не модифицируются, может возникнуть ситуация, когда одни скелетоны перекрывают другие. Например, когда размер view меньше ее скелетонов. В таких случаях как раз может помочь установка позиции или размеров в методе делегата `SkeletonsConfigurationDelegate` - Также в качестве способа обойти такую ситуацию можно передавать во view моковые данные для увеличения ее размеров, чтобы размеры били хотя бы примерно похожи на размер скелетонов, как в примере: + Также в качестве способа обойти такую ситуацию можно передавать во view моковые данные для увеличения ее размеров, чтобы размеры были хотя бы примерно похожи на размер скелетонов, как в примере: */ extension DefaultTitleSubtitleView: SkeletonsPresenter { public var skeletonsConfiguration: SkeletonsConfiguration { diff --git a/docs/tiuielements/skeletons.md b/docs/tiuielements/skeletons.md index bfed2c8a..41da669d 100644 --- a/docs/tiuielements/skeletons.md +++ b/docs/tiuielements/skeletons.md @@ -87,7 +87,7 @@ class CanShowAndHideSkeletons: BaseInitializableViewController { } @objc private func toggleSkeletons() { - // Т.к. передается nil, скелетонится будут все subview (в данном случае view.subview == [button]) + // Т.к. передается nil, скелетонится будут все subview (в данном случае view.subview == [button, label, imageView]) showSkeletons(viewsToSkeletone: nil, .init()) DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(3)) { [weak self] in @@ -150,7 +150,14 @@ class CustomConfigurableSkeletonableView: UIView, SkeletonsPresenter { - форма - отступы - > При этом все view делятся на: `UIView` с subviews (контейнеры), `UIView` без subviews, `UILabel`, `UITextView` и `UIImageView`. Для контейнеров доступна только настройка `borderWidth`, а `borderColor` используется тот же, что и для других скелетонов + При этом все view делятся на: + - `UIView` с subviews (контейнеры) + - `UIView` без subviews + - `UILabel` + - `UITextView` + - `UIImageView` + + > Для контейнеров доступна только настройка `borderWidth`, а `borderColor` используется тот же, что и для других скелетонов ### Анимация @@ -160,14 +167,14 @@ class CustomConfigurableSkeletonableView: UIView, SkeletonsPresenter { ```swift public enum SkeletonsAnimationDirection { - case leftToRight - case rightToLeft - case topToBottom - case bottomToTop - case topLeftToBottomRight - case topRightToBottomLeft - case bottomLeftToTopRight - case bottomRightToTopLeft + case leftToRight + case rightToLeft + case topToBottom + case bottomToTop + case topLeftToBottomRight + case topRightToBottomLeft + case bottomLeftToTopRight + case bottomRightToTopLeft } ``` @@ -246,7 +253,7 @@ var confWithPadding: SkeletonsConfiguration { ```swift public protocol SkeletonsConfigurationDelegate: AnyObject { - func layerDidConfigured(forViewType type: SkeletonLayer.ViewType, layer: SkeletonLayer) + func layerDidConfigured(forViewType type: SkeletonLayer.ViewType, layer: SkeletonLayer) } ``` @@ -270,7 +277,7 @@ let confWithDelegate = SkeletonsConfiguration(configurationDelegate: delegate) Т.к. размеры view на основе которой строятся скелетоны не модифицируются, может возникнуть ситуация, когда одни скелетоны перекрывают другие. Например, когда размер view меньше ее скелетонов. В таких случаях как раз может помочь установка позиции или размеров в методе делегата `SkeletonsConfigurationDelegate` - Также в качестве способа обойти такую ситуацию можно передавать во view моковые данные для увеличения ее размеров, чтобы размеры били хотя бы примерно похожи на размер скелетонов, как в примере: + Также в качестве способа обойти такую ситуацию можно передавать во view моковые данные для увеличения ее размеров, чтобы размеры были хотя бы примерно похожи на размер скелетонов, как в примере: ```swift extension DefaultTitleSubtitleView: SkeletonsPresenter {