我在使用SwiftUI开发macOS应用时遇到了侧边栏的问题。当应用程序第一次启动且没有焦点时,侧边栏顶部会有额外的空白填充,但在窗口获得焦点时会折叠到正确的大小。这对我来说似乎是一个bug。有没有什么方法可以解决这个问题,或者是我的做法有问题?
之前(没有焦点)
之后(焦点)
如您所见,在这两种情况下,“收件箱”和三个信号灯之间的空格不同。
代码
以下是侧边栏的代码:
NavigationView {
List {
Text("Inbox")
Section(header: Text("All projects")) {
ForEachStore(
self.store.scope(state: { $0.projects }, action: AppAction.project(id:action:)), content: { projectStore in
WithViewStore(projectStore) { projectViewStore in
NavigationLink(
destination: ProjectView(store: projectStore),
label: {
Text(projectViewStore.title)
})
}
}
)
Spacer()
}
}.frame(minWidth: 160)
.listStyle(SidebarListStyle())
HStack {
HStack {
Button("−") { viewStore.send(.decrementButtonTapped) }
Text("\(viewStore.count)")
Button("+") { viewStore.send(.incrementButtonTapped) }
}
}
}