前提・実現したいこと
SegmentedPickerStypeのPickerとTextを横に並べた項目をListで表示したいのですが、画面からあふれる数の項目を配列で用意するとPickerが一部(画面をスクロールした部分)表示されなくなります。
いろいろコードをいじると意図通りに表示されるケースもあり、原因が突き止められません。
どこか間違っているところがありますでしょうか?
何かヒントでも良いので気付いたことがあったら教えてください。
よろしくお願いいたします。
発生している問題・エラーメッセージ
コンパイルエラーなどは発生していません。Pickerの表示がおかしい。
該当のソースコード
SwiftUI
1import SwiftUI 2 3struct Test: Hashable { 4 var data: Int 5 } 6 7func makeData() -> [Test] { 8 var tests = [Test]() 9 for data in 0...20 { 10 tests.append(Test(data: data)) 11// tests.append(Test(data: 0)) 12 } 13 return tests 14} 15 16struct ContentView: View { 17 @State var tests = makeData() 18 @State var sel = 1 19 20 var body: some View { 21 List { 22 ForEach(tests, id: .self) { test in 23 HStack { 24 Picker(selection: self.$sel, label: Text("")) { 25 Text("A").tag(1) 26 Text("B").tag(2) 27 } 28 .pickerStyle(SegmentedPickerStyle()) 29 .frame(height: 100) 30 31 Text("(test.data)").frame(width: 30) 32// Text("(test.data)") 33 } 34 } 35 } 36 } 37}
試したこと
コード中でコメントアウトしているように、データを0固定にしたり、Textの.frameをやめたりすると何故か意図通りに表示されます。
何が引き金なのかわからなくて困っています。
補足情報(FW/ツールのバージョンなど)
Xcode Version 11.3.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/21 03:43
2020/03/29 03:36