использование fixedSIze в SwiftUI - PullRequest
1 голос
/ 08 марта 2020

Я сделал расширение View, чтобы сделать fixedSize более гибким.

Вот оно.

Это отлично работает, но я не уверен, есть ли более простой способ реализовать это. ..?

@available(iOS 13.0, *)
struct FixedSizeView<Content> : View where Content : View {
    var content: Content
    var on: Bool
    public init(_ on: Bool, @ViewBuilder content: () -> Content) {
        self.content = content()
        self.on = on
    }

    var body : some View {
        Group {
            if on {
                content.fixedSize()
            } else {
                content
            }
        }
    }
}


@available(iOS 13.0, *)
extension View {
    func fixedSize(active: Bool) -> FixedSizeView<Self> {
        FixedSizeView(active) {
            self
        }
    }
}

1 Ответ

1 голос
/ 08 марта 2020

Почему бы не сделать это проще, так как это

extension View {
    func fixedSize(active: Bool) -> some View {
        Group {
            if active {
                self.fixedSize()
            } else {
                self
            }
        }
    }
}

Протестировано и работает с Xcode 11.2 / iOS 13.2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...