【问题标题】:Extending View with extra function without using AnyView在不使用 AnyView 的情况下扩展具有额外功能的视图
【发布时间】:2020-02-28 10:36:16
【问题描述】:

我正在这样做:

extension View {
    func isHidden(_ hidden: Bool) -> AnyView {
        AnyView(hidden ? self.hidden() : self)
    }
}

我更喜欢这样的:

extension View {
    func isHidden(_ hidden: Bool) -> some View {
        return hidden ? self.hidden() : self
    }
}

这可能吗和/或我是否不必要地担心?谢谢

【问题讨论】:

    标签: swift view swiftui


    【解决方案1】:

    是的,这是可能的。在这里

    extension View {
        func isHidden(_ hidden: Bool) -> some View {
            Group {
                if hidden {
                    self.hidden()
                }
                else {
                    self
                }
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-29
      • 2018-12-30
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多