【问题标题】:SwiftUI: How to center align independent of other content in HStack?SwiftUI:如何独立于 HStack 中的其他内容进行居中对齐?
【发布时间】:2021-11-27 18:15:57
【问题描述】:

我有一个 HStack,其内容要左对齐,然后 Details 标题居中。我正在使用Spacer() 来尝试完成此操作,但看起来它以Details 为中心,具体取决于它左侧的内容。我希望它独立于它,只是以屏幕为中心。使用Spacer() 可以吗?

    VStack {
        HStack(alignment: .top) {
            Text("<------")
            Spacer()
            Text("Details")
            Spacer()
        }
        Spacer()         
    }

【问题讨论】:

    标签: swift swiftui


    【解决方案1】:

    一种可能的方法是使用覆盖,例如

    VStack {
        HStack(alignment: .top) {
            Text("<------")
            Spacer()
        }
        .overlay(
            Text("Details")       // << here !!
        , alignment: .top)
        Spacer()         
    }
    

    ,根据需要可以放到rootVStack

    【讨论】:

    • 与手动使用ZStack 相比,使用.overlay 有什么优势吗?
    • @ClausJørgensen:我不在 SwiftUI 团队,但似乎 .overlayZStack 的产物,我可以从 ZStack 自定义 .overlay 修饰符。
    • @ClausJørgensen,看这里stackoverflow.com/a/63446622/12299030
    猜你喜欢
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多