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)
}
}
}
現在の様子: [
これはちょっと機能しますが、ハンドルをドラッグすると非常にグリッチが発生し、特定のポイントに到達するには多くのドラッグが必要なようです.
何がうまくいかなかったのかアドバイスしてください。ありがとうございました。