提问人:matryx87 提问时间:11/15/2023 最后编辑:matryx87 更新时间:11/18/2023 访问量:68
SwiftUI - 具有 .window 样式的 MenuBarExtra:ScrollView 的布局问题
SwiftUI - MenuBarExtra with .window style: Layout issue with ScrollView
问:
我试图为 macOS 创建一个菜单栏应用程序,但由于它在滚动中包含多个视图,正如您可能想象的那样,我不得不使用 ..menuBarExtraStyle(.window)
目前为止,一切都好。
关键是:我第一次打开菜单时,高度似乎布局正确,但从第二次开始,视图的大小会调整到某个较小的高度量。 您可以尝试使用以下简单代码段:
MenuBarExtra("", systemImage: "info") {
ScrollView {
VStack(alignment: .leading) {
ForEach(0..<100) {
Text("Row \($0)")
}
}
}
}
.menuBarExtraStyle(.window)
更改以解决问题,但当然您不能构建自己的布局、功能等......利用风格只是显示。.menuBarExtraStyle(.window)
.menuBarExtraStyle(.menu)
.window
即使为 ScrollView 设置最大高度 - - 似乎也无法解决此行为。.frame(maxHeight: maxHeight)
示例代码中 VStack 的结果设置相同。.frame(maxHeight: .infinity)
有人遇到过这个问题吗?也许有一种合适的方法可以继续构建这种保持高度稳定的布局?
答: 暂无答案
评论
.frame(maxHeight: maxHeight)
NSScreen.main?.visibleFrame.size.height
.menuBarExtraStyle
.window
.menu