我有一个视图,该视图封装了一些表示逻辑,并且可以隐藏自身。一个玩具示例:
struct Item: View {
var x: Int
var body: some View {
if x % 3 == 1 {
return AnyView(EmptyView())
}
return AnyView(Text("\(x)").background(Color.blue))
}
}
当我在Item
中使用VStack
时,仅在非空字符之间插入空格就足够了。
VStack(spacing: 8) {
Item(x: 0)
Item(x: 1)
Item(x: 2)
Item(x: 3)
}
现在我想做同样的事情,但是使用自定义分隔符而不是空格。同样,我希望仅在非空项目之间插入分隔符。
是否有一个API可以在3个可见视图之间插入2个分隔符?像这样:
Something(separator: Divider()) {
Item(x: 0)
Item(x: 1)
Item(x: 2)
Item(x: 3)
}
我已经检查过VStack
,Group
,ForEach
,但是没有找到任何东西。我真的不想将隐藏逻辑引入父级。有什么解决方法可以将隐藏逻辑保留在Item
内吗?