swiftui 里,这里用 hstack,为什么是垂直布局,而不是水平布局?

111 天前
 infyni

半路出家学 swiftui,现在在写一个 macos 的状态栏的应用, 有个布局问题我一直搞不懂啊.

比如下面的代码:

 @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")
            }
       }
    }

我的期望是,三个 text 应该是水平布局吧.为什么实际出来会是垂直布局呢?

请各位大佬解惑,我去问过 gpt, 没问出来结果.

810 次点击
所在节点    Swift
1 条回复
dazhuang007
8 天前
在 HStack 外面再套一个 VStack 试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1045333

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX