I figured out how to make a text view's contents scroll by enclosing it in a ScrollView.
However, when there is not enough content to fill a line, it ignores my request to use leading alignment and center-aligns it both horizontally and vertically.
ScrollView() {
Text(userSettings.wordList)
.lineLimit(nil)
.multilineTextAlignment(.leading)
.padding(.all, 2)
.frame(minWidth: geometry.size.width - 30, minHeight: 200)
.border(.blue)
}
.contentMargins(2, for: .scrollContent)
.border(.gray)
That code (with a blue border around the Text view, so you can see how it lands inside the ScrollView) looks like this with 2 words in the Text view:
I want the text to be left (er, leading) aligned horizontally, and top-aligned vertically. How do I do that?

Right now, your
framehas no alignment and is defaulting tocenter. You can fix this by adding an explicit alignment: