SwiftUI滚动视图部分显示Mac App中的最后一项

时间:2019-08-04 00:43:54

标签: macos scrollview swiftui

如何在Mac应用中使用SwiftUI正确设置ScrollView?下面的示例剪辑了最后一个项目。

import SwiftUI

struct NameRow: View {

    var name: String

    var body: some View {
        VStack {
            Spacer()
            Text("\(name)")
            Spacer()
            Divider()
        }.frame(width: 100, height: 40)
    }
}

struct ContentView: View {

    let names = ["Homer", "Marge", "Lisa", "Bart", "Maggie", "Krusty", "Burns", "Nelson", "Otto"]

    var body: some View {
        VStack {
            ScrollView {
                ForEach(names, id: \.self) { name in
                    NameRow(name: name)
                }
            }
        }.frame(width: 100, height: 160)
    }
}

如图所示,窗口剪切了最后一个项目。此视图滚动到底部,但“奥托”(Otto)项目未完全显示。

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您从.fullSizeContentView的{​​{1}}初始化中删除了window,则其外观如下所示,那么它将完全显示该列表。

AppDelegate.swift

我不知道这是错误还是设计使然。