如何使 ScrollView 与框架左侧对齐?

问题描述 投票:0回答:1

为了练习,我正在尝试制作一个Worlde类型的应用程序,没有什么原创的。

我想让 VStack 顶部的单词列表 ScrollView 与屏幕左侧对齐。甚至尝试嵌入它自己的 VStack 并对齐 .leading,但显然没有效果。

有没有我可以使用的对齐选项,或者我必须去 GeometryReader 来获取类似的东西吗?

import SwiftUI

struct ContentView: View {
    @EnvironmentObject var word : Word
    
    var body: some View {
        ZStack {
            VStack {
                VStack(alignment: .leading) {
                    ScrollView{
                        if word.guessedWords.count > 0 {
                            
                            ForEach(0..<word.guessedWords.count, id: \.self) { count in
                                HStack {
                                    Text(word.guessedWords[count])
                                        .foregroundColor(.white)
                                        .padding(.trailing, 10)
                                    Text("\(count)")
                                        .foregroundColor(.white)
                                }
                            }
                        }
                    }
                    .padding(.top, 75)
                }
                
                Spacer()
                
                GuessedLetters()
                
                Keyboard()
                    .padding(.bottom)
                
            }
        }
        .background(.black)
        .ignoresSafeArea()
    }
    
}

#Preview {
    ContentView()
        .environmentObject(Word())
}

swiftui alignment
1个回答
0
投票

尝试使用

maxWidth: .infinity
alignment: .leading
上的
ScrollView
设置框架:

ScrollView{
    // content as before
}
.padding(.top, 75)
.frame(maxWidth: .infinity, alignment: .leading) // <- ADDED
© www.soinside.com 2019 - 2024. All rights reserved.