Layout SwiftUI-间隔符()和Color.clear之间的差异?

Layout SwiftUI-间隔符()和Color.clear之间的差异?,layout,transparent,swiftui,Layout,Transparent,Swiftui,非常简单的问题-我只是好奇Spacer()和颜色之间是否有任何可感知的差异。在SwiftUI中清除如果你测量屏幕,那么是的。 在本例中,我注意到使用这两种方法时有~2px的差异: struct ContentView: View { var body: some View { HStack { Spacer() Text("First") Spacer() Text("Seco

非常简单的问题-我只是好奇
Spacer()
颜色之间是否有任何可感知的差异。在SwiftUI中清除

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

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

(中间的空间大约占84像素)

现在使用
颜色。清除

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

请注意,“第一个”和“第二个”字符串不再接触垂直导轨

(中间的“空间”现在约为86像素)

虽然差别不大,但我还是坚持使用
Spacer


(是我们的朋友)

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

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

(中间的空间大约占84像素)

现在使用
颜色。清除

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

请注意,“第一个”和“第二个”字符串不再接触垂直导轨

(中间的“空间”现在约为86像素)

虽然差别不大,但我还是坚持使用
Spacer

(是我们的朋友)

Spacer()
用于
VStack
HStack
放置视图<代码>颜色。清除就是那一种颜色。如果需要,可以在
VStack
中的两个
文本中添加背景色。它们将出现在任何屏幕的正上方。现在,在两个文本之间添加一个
间隔符()。它们现在处于顶部和底部。现在,将所有这些替换为一个
矩形()。尝试添加一个“间隔”修饰符-没有这样的事情。但是尝试添加一个带有
颜色的
背景
修改器。清除
。它起作用了。对我来说,你在尝试比较苹果和橙子。
Spacer()
用于
VStack
HStack
中放置视图<代码>颜色。清除就是那一种颜色。如果需要,可以在
VStack
中的两个
文本中添加背景色。它们将出现在任何屏幕的正上方。现在,在两个文本之间添加一个
间隔符()。它们现在处于顶部和底部。现在,将所有这些替换为一个
矩形()。尝试添加一个“间隔”修饰符-没有这样的事情。但是尝试添加一个带有
颜色的
背景
修改器。清除
。它起作用了。对我来说,你是在比较苹果和桔子。