Swift ScrollViewで縦と横どちらにもスクロールさせたい

実現したいこと

点検表のテンプレートを作り、その上にToggleなどで⚪︎や斜線を引いたり、TextFileを使って点検時のコメントを記載して点検結果を記載した点検表を完成させ
完成した点検表をPDFなど印刷できる状態にして端末に保存することを目的にしています。
現在どのように実装させるか学習しながらテストを繰り返している状態です。

発生している問題・分からないこと

ある程度テンプレートを作成した段階で思っているよりサイズが小さいことに気づきできればもう少し大きいサイズでテンプレートを作りたいと思ったので
ScrollViewを使って上下、又は左右にスクロールさせることはできるのですが、どちらかしかできず上下左右に自由に移動できる方法がないか探しています。

該当のソースコード

import SwiftUI import UIKit struct ContentView: View { @State var isShowBView = false @State var kokyakuMei = "" @State var septictankType = "" var body: some View { ScrollView { HStack { ZStack { Rectangle() .stroke(.black) .frame(width: 800, height: 800) VStack { Text("入力された顧客名: \(kokyakuMei)") .padding() Text("入力された浄化槽型: \(septictankType)") Button { isShowBView = true } label: { ZStack { Rectangle() .stroke(style: StrokeStyle()) .frame(width: 300, height: 50) Text("顧客名入力画面を表示") .font(.system(size: 30)) .frame(width: 300, height: 50) } } } } .frame(maxWidth: .infinity) } } .frame(maxHeight: .infinity) .sheet(isPresented: $isShowBView) { BView(isShowBView: $isShowBView, kokyakuMei: $kokyakuMei, septictankType: $septictankType) } } } #Preview { ContentView() } //以下画面B
import SwiftUI struct BView: View { @Binding var isShowBView: Bool @Binding var kokyakuMei: String @Binding var septictankType: String var body: some View { ZStack { Color(.orange) .edgesIgnoringSafeArea(.all) VStack { Text("顧客名") TextField("顧客名を入力", text: $kokyakuMei) Text("型式") TextField("型式を入力", text: $septictankType) Button { isShowBView = false } label: { Text("閉じる") .font(.title) .padding() .background(.green) .foregroundColor(.white) .cornerRadius(10) } } } } }

試したこと・調べたこと

上記の詳細・結果

チャットGPTに聞いてみた方法を試してみてもどちらか片方にしか動かず、行き詰まってしまいこうしてお知恵をいただきたく質問した次第です。

改善点を教えていただければ幸いです。

補足

XcodeやMac OSのバージョンは全て最新です

コメントを投稿

0 コメント