我是 SwiftUI 新手。我知道 hstack 是水平布局,但为什么在这种情况下它显示垂直?
@SceneBuilder
private func menuBarExtra() -> some Scene {
if #available(macOS 13.0, *) {
MenuBarExtra(isInserted: $statusMenu){
AppMenu()
} label: {
let image: NSImage = {
let ratio = $0.size.height / $0.size.width
$0.size.height = 18
$0.size.width = 18 / ratio
return $0
}(NSImage(named: "Finder")!)
Image(nsImage: image)
}
}
struct AppMenu: View {
var body: some View {
HStack{
Text("1")
Text("2")
Text("3")
}
}
}
Macos 菜单栏应用程序: 在此输入图片描述
如何在 MenuBarExtra 中自定义布局?
如何在 MenuBarExtra 中自定义布局?
垂直对齐是
MenuBarExtra
的默认行为。要使项目水平对齐,您需要更改该样式。
MenuBarExtra(currentNumber, systemImage: "triangle") {
HStack{
Text("1")
Text("2")
Text("3")
}
.frame(width: 100, height: 100)
}
.menuBarExtraStyle(.window)