У меня есть представление, которое инкапсулирует некоторые logi c представления, и как часть этого logi c оно может скрываться. Пример игрушки:
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)
}
Now I want to do the same, but using a custom separator instead of spacing. Similarly, I want separator to be inserted only between non-empty items.
Is there an API that would insert 2 separators between 3 visible views? Something like this:
Something(separator: Divider()) {
Item(x: 0)
Item(x: 1)
Item(x: 2)
Item(x: 3)
}
Я проверил VStack
, Group
, ForEach
, но ничего не нашел. Я действительно не хочу поднимать скрывающуюся логику c на родительскую. Любые идеи для обходного пути, при котором скрытие logi c внутри Item
?