3

SwiftUI を試すのはこれが初めてで、2 つのビューの中央に調整可能なハンドルを備えた分割ビューとして機能する SwiftUI ビューを作成しようとしています。

これが私の現在のコード実装例です:

struct ContentView: View {

    @State private var gestureTranslation = CGSize.zero
    @State private var prevTranslation = CGSize.zero

    var body: some View {

        VStack {
            Rectangle()
                .fill(Color.red)
                .frame(height: (UIScreen.main.bounds.height / 2) + self.gestureTranslation.height)
            RoundedRectangle(cornerRadius: 5)
            .frame(width: 40, height: 3)
            .foregroundColor(Color.gray)
            .padding(2)
            .gesture(DragGesture()
                    .onChanged({ value in
                        self.gestureTranslation = CGSize(width: value.translation.width + self.prevTranslation.width, height: value.translation.height + self.prevTranslation.height)

                    })
                    .onEnded({ value in
                        self.gestureTranslation = CGSize(width: value.translation.width + self.prevTranslation.width, height: value.translation.height + self.prevTranslation.height)

                        self.prevTranslation = self.gestureTranslation
                    })
            )
            Rectangle()
                .fill(Color.green)
                .frame(height: (UIScreen.main.bounds.height / 2) - self.gestureTranslation.height)
        }
    }
}

現在の様子: [分割ビューのスクリーンショット[1]

これはちょっと機能しますが、ハンドルをドラッグすると非常にグリッチが発生し、特定のポイントに到達するには多くのドラッグが必要なようです.

何がうまくいかなかったのかアドバイスしてください。ありがとうございました。

4

2 に答える 2