详解SwiftUI中Divider和Spacer的用法和区别(最新)

Posted iOS开发栈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解SwiftUI中Divider和Spacer的用法和区别(最新)相关的知识,希望对你有一定的参考价值。

Divider和Spacer都可以用到分割两个视图,但是它们也有一些区别。通过这篇文章我们将学到这两个控件的使用方式和它们之间的区别。

到公众号【ios开发栈】学习更多SwiftUI、iOS开发相关内容。

Spacer

struct ContentView: View {
    var body: some View {
        VStack {
            Text("Top").background(Color.red)
            Spacer()
            Text("Bottom").background(Color.red)
        }
        .frame(width: 100, height: 400, alignment: .center)
        .background(Color.yellow)
    }
}

在“Top”和“Bottom”之间添加一个Spacer控件,会把这两个文字隔开,使这两个文字分别位于最上和最下面。

Spacer(minLength: 30)

通过设置minLength可以指定被分开的两个视图的最小距离,如果不指定的话,会有一个默认的距离。

Divider

VStack {
    Text("Top").background(Color.red)
    Divider().background(Color.red)
    Text("Bottom").background(Color.red)
}

Top和Bottom之间添加一个Divider控件可以在两个视图之间添加一个间隔,和上面的Spacer不同的是中间会出现一根线,background设置的颜色会影响到这根线的颜色。

并且,被Divider分割的两个视图中间的距离是固定的,它们不会移动到父视图的两端。

另外,把Divider的高度分别设置为0之后,被它分割的两个视图不会靠在一起。但是把Spacer的高度设置为0,被它分割的两个视图会靠在一起,就和没有被分割一样。

到公众号【iOS开发栈】学习更多SwiftUI、iOS开发相关内容。

总结

这篇文章学习了SwiftUI中SpacerDivider的用法以及它们之间的区别,这两个控件在SwiftUI中虽然简单但是非常的常用,我们一定要熟悉。如果你有任何的问题、建议都可以通过微博或邮件联系到我本人。

以上是关于详解SwiftUI中Divider和Spacer的用法和区别(最新)的主要内容,如果未能解决你的问题,请参考以下文章

在 SwiftUI 中,为啥 Spacer 会将文本推送到 TextEditor 框架之外?

带有灵活 Spacer 的 SwiftUI VStack

如何在 Swiftui 的主视图底部的滚动视图中放置一个非粘性按钮? Spacer 在滚动视图中似乎没有效果

在 SwiftUI 中,Picker 扩展为占据 HStack 内的整个空间

在列表行中制作等宽的 SwiftUI 视图

SwiftUI,删除VStack中视图之间的空间?