V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
infyni
V2EX  ›  Swift

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

  •  
  •   infyni · 184 天前 · 1179 次点击
    这是一个创建于 184 天前的主题,其中的信息可能已经有所发展或是发生改变。

    半路出家学 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 应该是水平布局吧.为什么实际出来会是垂直布局呢?

    image

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

    1 条回复    2024-09-10 10:34:49 +08:00
    dazhuang007
        1
    dazhuang007  
       82 天前
    在 HStack 外面再套一个 VStack 试试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2639 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 04:12 · PVG 12:12 · LAX 20:12 · JFK 23:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.