Question: this gives me dynamic text height correctly

```
import SwiftUI
struct ContentView : View {
    var body: some View {
        List {
            Text("This is some very long text can we can see scrolls past two lines ").lineLimit(nil)   
        }
    }
}

#if DEBUG
struct ContentView_Previews : PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
#endif

```

[![enter image description here](https://i.stack.imgur.com/ujnBV.png)](https://i.stack.imgur.com/ujnBV.png)

But the following truncates the Text. How do i get dynamic height with the following?

```
import SwiftUI
struct ContentView : View {
    var body: some View {
        GeometryReader { reader in
            ScrollView {
                Text("This is some very long text can we can see scrolls past two lines ")
                    .lineLimit(nil)
                    .frame(width: reader.size.width)
            }
        }
    }
}
#if DEBUG
struct ContentView_Previews : PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
#endif

```

[![enter image description here](https://i.stack.imgur.com/4ZsIq.png)](https://i.stack.imgur.com/4ZsIq.png)

Answer: 
You need to prevent truncation using `fixedSize` modifier. In your case it is like:

```
Text("This is some very long text can we can see scrolls past two lines ")
 .lineLimit(nil)
 .fixedSize(horizontal: false, vertical: true) //** It keeps 'width size' and expands 'height size'
 .frame(width: reader.size.width)

```
### WORKAROUND #1

I was able to get around this issue by adding a new line to the end of the string:

```
        ScrollView {
            Text("This is some very long text can we can see scrolls past two lines\n")
        }

```

With this workaround, I didn't need to add `.lineLimit(nil)` or set a fixed width.

### WORKAROUND #2

I was also able to get around this by simply setting a fixed font size:

```
    ScrollView {
        Text("This is some very long text can we can see scrolls past two lines")
            .font(.custom("CustomText", fixedSize: 14.0))
    }

```