SwiftUI将两个子视图传递给视图

SwiftUI将两个子视图传递给视图,swift,swiftui,Swift,Swiftui,我试图使用@ViewBuilder将两个视图作为一个视图的子视图传递 我需要能够知道哪一个是第一个,哪一个是第二个,因为我想根据某种状态显示一个或另一个 我能够以非泛型的方式完成这项工作,这意味着我明确地给出了子视图的类型 struct FlippableView<Content: View>: View { @State private var flipped = false @State private var degrees = 0.0 var fro

我试图使用
@ViewBuilder
将两个视图作为一个视图的子视图传递

我需要能够知道哪一个是第一个,哪一个是第二个,因为我想根据某种状态显示一个或另一个

我能够以非泛型的方式完成这项工作,这意味着我明确地给出了子视图的类型

struct FlippableView<Content: View>: View {
    @State private var flipped = false
    @State private var degrees = 0.0

    var frontCard: FeedItem
    var backCard: FeedItem

    @inlinable public init(@ViewBuilder content: () -> Content) {
        var t = content() as! TupleView<(FeedItem, FeedItem)>
        self.frontCard = t.value.0
        self.backCard = t.value.1
    }

    var body: some View {
        return Group() {
            if self.degrees < 90 {
                self.frontCard
            } else {
                self.backCard
                    .rotation3DEffect(Angle(degrees: 180), axis: (x: CGFloat(0), y: CGFloat(10), z: CGFloat(0)))

            }
        }
    }
struct flipableview:View{
@状态私有变量翻转=false
@国家私有变量度=0.0
var frontCard:FeedItem
var回传卡:FeedItem
@可插入的公共初始化(@ViewBuilder content:()->content){
var t=content()as!TupleView
self.frontCard=t.value.0
self.backCard=t.value.1
}
var body:一些观点{
返回组(){
如果自转角小于90度{
自助名片
}否则{
自助借阅卡
.旋转3D效果(角度:180),轴:(x:CGFloat(0),y:CGFloat(10),z:CGFloat(0)))
}
}
}

如何通过去掉FeedItem类型使其更通用。我希望这两个视图是两种不同的视图类型。

这里是可能的变体。使用Xcode 11.4/iOS 13.4测试

struct flipableview:View{
@状态私有变量翻转=false
@国家私有变量度=0.0
var前端卡:V1
var备份卡:V2
@可插入的公共init(@ViewBuilder content:()->TupleView){
设t=content()
self.frontCard=t.value.0
self.backCard=t.value.1
}
var body:一些观点{
返回组(){
如果自转角小于90度{
自助名片
}否则{
自助借阅卡
.旋转3D效果(角度:180),轴:(x:CGFloat(0),y:CGFloat(10),z:CGFloat(0)))
}
}
}
}