ScrollView内のForEachは全幅を取りません

OgreSwamp

SwiftUIを使用して現在のアプリのUIを再作成しようとしています。そして、それは私が最初に思ったよりもずっと難しいです。背景のあるカードのようなセルを作りたかったのです。List少なくともまだそれをサポートしいないことわかりましたList非常に制限されています-セルセパレータを削除することはできません。

だから私はForEachに移動しましたScrollViewこれは長いテーブルの本番環境で使用する必要があるものではないと思いますが、今のところは機能するはずです。私が抱えている問題は、ForeEachビューがScrollView提供するすべての幅とらないということです。.frame(...)モディファイアを設定することはできますが、ハードコーディングの幅が必要になりますが、絶対にやりたくありません。

VStackScrollViewの全幅を強制的に取得する方法はありますか?ForeEachなしVStack使用しようとしましたが、同じ問題が発生します。ScrollView(親ビュー)が子ビュー(VStack)に、そのフレームが実際ScrollViewのフレームよりも小さいことを「伝える」ように見えます。そして、その情報に基づいて、子ビューはレイアウトとサイズを構築します。

これが私の現在の結果です:

そしてここにコードがあります:

struct LandmarkList : View {
    var body: some View {
        NavigationView {
            ScrollView() {
                VStack {
                    Spacer().frame(height: 160)
                    ForEach(landmarkData) { landmark in
                        LandmarkRow(landmark: landmark).padding([.leading, .trailing], 16)
                    }
                }.scaledToFill()
                .background(Color.pink)
            }
            .background(Color.yellow)
            .edgesIgnoringSafeArea(.all)
            .navigationBarTitle(Text("Landmarks"))

        }
    }
}

struct LandmarkRow : View {
    var landmark: Landmark

    var body: some View {
        HStack {
            VStack(alignment: .leading) {
                Text(landmark.name).font(.title)
                Text("Subtitle")
                    .font(.callout)
                    .color(.gray)
            }
            Spacer()
            Text("5 mi")
                .font(.largeTitle)
            }.frame(height: 80)
            .padding()
            .background(Color.white)
            .cornerRadius(16)
            .clipped()
            .shadow(radius: 2)
    }
}
FlowUI。SimpleUITesting.com

これに対する答えは、scrollViewを内部にラップすることである可能性があります GeometryReader

ここでの回答のように-> SwiftUIを使用してビューを親フレームに拡大するにはどうすればよいですか?

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

コンテナ内の要素は全幅を取りません

Wordpress:全幅は全幅ではありません

作るのJPanelはJFrameのの全幅を取ります

Flexboxdivは幅全体を取りません

絶対位置のdivは残りの幅を取りません

光沢のあるtabsetPanelは全幅を取ります

UITableViewCellのイメージではありません全幅

ActionBarのSearchViewが全幅ではありません

コンテナ-流体はナビゲーションバーを除いて全幅を取りません

SeachViewは全幅を使用しません

CSSフッターの幅が全幅ではありません

Divはページの全幅を取得しません

ListFragmentはすべての幅を取り、残りは何も残しません

IronPdfHTMLフッターは全幅を占めることはありません

全幅のCSSdivですが、テキストを折り返しません

ビデオタグは親divの幅と高さを取りません

全幅CSS水平メニューではありません

Flexboxが全幅ではありません

BottomNavigationViewが全幅ではありません

ListViewが全幅ではありません

ヘッダーが全幅ではありません-HTML / CSS

Flutter OverlayEntryは幅、高さを取りません

フッターはページの全幅を埋めません

ScrollView内のAndroidListViewが適切ではありません

ScrollView内にリリースの勢いはありません

1%の幅のdivを100倍に拡大しても、親の全幅はカバーされません

UIScrollViewのUIViewは全幅に拡大されません

divは全幅をカバーしていません

ボタンの内側のスパンは全高を取ります

TOP 一覧

  1. 1

    PictureBoxで画像のブレンドを無効にする

  2. 2

    HTTPヘッダー 'SOAPAction'の値はサーバーによって認識されませんでした

  3. 3

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  4. 4

    レスポンシブウェブサイトの一番下にスティッキーなナビゲーションバーを作成するのに問題がある

  5. 5

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  6. 6

    Ansibleで複数行のシェルスクリプトを実行する方法

  7. 7

    Python / SciPyのピーク検出アルゴリズム

  8. 8

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  9. 9

    ZScalerと証明書の問題により、Dockerを使用できません

  10. 10

    Rパッケージ「AppliedPredictiveModeling」のインストール中にエラーが発生しました

  11. 11

    テキストフィールドの値に基づいて UIslider を移動します

  12. 12

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  13. 13

    「埋め込みブラウザのOAuthログイン」を有効にしてコールバックURLを指定した後でも、Facebookのコールバックエラーが発生する

  14. 14

    tf.nn_conv2dとtf.nn.depthwise_conv2dの違い

  15. 15

    CSSはアニメーションで変換および回転します

  16. 16

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  17. 17

    Chromeウェブアプリのウェブビューの高さの問題

  18. 18

    Postmanを使用してファイル付きの(ネストされた)jsonオブジェクトを送信する

  19. 19

    amCharts 4で積み上げ棒グラフの輪郭を描く方法は?

  20. 20

    Officeアドインを使用してOutlookの連絡先のリストにプログラムでアクセスすることは可能ですか?

  21. 21

    Reactでclsxを使用する方法

ホットタグ

アーカイブ