SwiftUI 滚动视图部分显示 Mac 应用程序中的最后一项
Posted
技术标签:
【中文标题】SwiftUI 滚动视图部分显示 Mac 应用程序中的最后一项【英文标题】:SwiftUI scroll view partially displays last item in Mac app 【发布时间】:2019-08-04 00:43:54 【问题描述】:如何在 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”项未完全显示。
【问题讨论】:
【参考方案1】:如果您从AppDelegate.swift
中的window
初始化中删除.fullSizeContentView
,如下所示,那么它将完全显示列表。
window = NSWindow(
contentRect: NSRect(x: 0, y: 0, width: 480, height: 300),
styleMask: [.titled, .closable, .miniaturizable, .resizable],
backing: .buffered, defer: false)
我不知道这是一个错误还是设计使然。
【讨论】:
删除. fullSizeContentView
解决了这个问题。感谢您的建议。以上是关于SwiftUI 滚动视图部分显示 Mac 应用程序中的最后一项的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SwiftUI 中将滚动视图添加到屏幕的特定部分? [复制]