首页 > 解决方案 > SwiftUI - Spacer() 和 Color.clear 之间的区别?

问题描述

非常简单的问题 - 我只是好奇SwiftUISpacer()Color.clearSwiftUI之间是否有任何可感知的差异

标签: layouttransparentswiftui

解决方案


如果你测量屏幕,那么是的。
在本例中使用两者时,我注意到 ~2px 的差异:

struct ContentView: View {
    var body: some View {
        HStack {
            Spacer()
            Text("First")
            Spacer()
            Text("Second")
            Spacer() 
        }
    }
}

生成:

垫片

(中间空间大约需要 84px)

现在使用Color.clear

struct ContentView: View {
    var body: some View {
        HStack {
            Color.clear
            Text("First")
            Color.clear
            Text("Second")
            Color.clear
        }
    }
}

输出:

颜色.清晰

请注意,“ First ”和“ Second ”字符串不再接触垂直指南......

(中间的“空间”现在需要大约 86 像素)

差别不大,但我会坚持Spacer

xScope是我们的朋友)


推荐阅读