fix: code review notes

This commit is contained in:
Nikita Semenov 2023-03-07 20:23:58 +03:00
parent 9c8510af14
commit cfd5d5f2f8
2 changed files with 38 additions and 24 deletions

View File

@ -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 {

View File

@ -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 {