問題タブ [lazyvgrid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arrays - ForEach で使用するための SwiftUI のカスタム ビューの配列
SettingsPointOneView()
図の各ポイントのように、4 つの同様のビューがあります。この場合、SliderFirstPointX()
2つのビューが保存されます。SliderFirstPointY()
それら (SliderFirstPointX など) は、スライダーを使用して、カスタム フィギュアの特定のポイントの軸 (x、y) の値を制御および変更します。
外観:</p>
SliderFirstPointX() および SliderFirstPointY()
SettingsPointOneView()
スクリーンショットのように、それらを LazyVGrid に配置したかったのです。そこで、定数 var を作成し、次のように初期化しようとしました。
その後、いくつかのエラー メッセージが表示されました。
ForEach の前: • タイプとしてのプロトコル「Any」は、「AccessibilityRotorContent」に準拠できません。
LazyVGrid の前:
• 一般的な構造体 'LazyVGrid' では、'View' に準拠する 'some AccessibilityRotorContent' が必要です。
• 初期化子 'init(columns:alignment:spacing:pinnedViews:content:)' は、'view' に準拠する 'some AccessibilityRotorContent' を必要とします。
• 構造体「ViewBuilder」では、「一部の AccessibilityRotorContent」が「View」に準拠する必要があります
解決策が見つからなかったため、この実装を使用する必要がありましたが、満足していません。
このソリューションはかなりうまく機能しますが、この機能を実装する方法は間違っていると思います。
ForEach のビューの配列でアプローチを使用する方法はありますか?
正直なところ、私はプログラミングを始めて 3 か月になるので、Swift 開発者として何を学ぶべきかアドバイスをいただければ幸いです。
arrays - LazyVGrid を使用している場合、DetailView は配列内の最初の項目のみを呼び出します
アイテムを追加できるリストがあり、それらをクリックすると正しい詳細ビューが開きました。最近リストを LazyVGrid に交換しましたが、グリッド項目をクリックすると、詳細ビューは配列の最初の項目のみを呼び出します。
これはリスト ビューです。
アイテムの追加と詳細ビュー:
そして、これが各アイテムを追加する方法です:
LazyVGrid が最初のアイテムのみを呼び出している理由がわかりません。
swift - LazyVStack 内で AsyncImage とともに VStack を使用すると、スクロール時に画像がリロードされる
SwiftUI で新しい AsyncImage を使用して、タイトル付きの画像の長いリストを表示しようとしています。AsyncImage の周りに VStack を配置して画像をスクロールすると、上下にスクロールするたびに画像がリロードされることに気付きました。VStack がない場合、リロードが表示されず、画像がキャッシュされたままのように見えます。
各画像の下にテキストを追加できるように、VStack がスクロール時に画像をリロードしないようにする方法はありますか?
これが実際の例です。VStack の有無にかかわらずスクロールしてみてください。