将大视图居中在ScrollView内,以免拆分视图

时间:2019-08-14 18:25:41

标签: ios swift iphone xcode swiftui

我正在滚动视图中水平滚动大视图(屏幕宽度)。我希望视图能够自动居中,而不希望出现两个视图都部分可见的情况。

我已经在使用GeometryReader的数据为视图执行3D旋转动画。我试图使用三元运算符将UIScreen的位置添加到card.position()。

struct WorkoutCard: View {

var numberOfWorkouts : [Int] = [0, 1, 2, 3]

var deviceCentre = (CGPoint(x: CGFloat(UIScreen.main.bounds.midX), y: CGFloat(UIScreen.main.bounds.midY)))

var body: some View {
        ZStack {

    ScrollView (.horizontal, showsIndicators: false) {

        HStack {


   ForEach(self.numberOfWorkouts.reversed(), id: \.self) { index in

                    GeometryReader { geometry in

                        Card(index).position(geometry.frame(in: .global).maxY == 0 ? self.deviceCentre : self.position() as! CGPoint )
                            .rotation3DEffect(Angle(degrees: Double(geometry.frame(in: .global).minX) / 4 ) ,
                                                     axis: (x: 0, y: 10 , z: 0))

                        }.frame( width: 414, height : 896)

            }
}

    }
          }.edgesIgnoringSafeArea(.all)
}
 }

我希望卡片视图在不滚动时处于中心位置,以避免显示2张卡片视图。

0 个答案:

没有答案