欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SwiftUI - VStack,HStack, ZStack 分别表示的布局样式

程序员文章站 2024-03-24 12:28:46
...

SwiftUI出来已经有有一段时间了,虽然离实际使用还有一段距离,但是先熟悉一下,还是有必要的。

VStack,HStack, ZStack为布局控件,相当于UIKit中的UIStackView。代码及效果图如下:

VStack: 垂直布局模式

        VStack {
            Text("Ninja Z400")
            Text("世界因你为精彩")
        }

HStack: 水平布局模式

        HStack {
            Text("Ninja Z400")
            Text("世界因你为精彩")
        }

ZXtack: 深度布局模式

        ZStack {
            Image("1")
            Text("Ninja Z400")
                .font(Font.system(size: 32.0))
                .foregroundColor(.white)
        }

SwiftUI - VStack,HStack, ZStack 分别表示的布局样式   SwiftUI - VStack,HStack, ZStack 分别表示的布局样式   SwiftUI - VStack,HStack, ZStack 分别表示的布局样式

             VStack布局                              HStack布局                           ZStack布局

此上是那种布局方式,在SwiftUI中是常用到的,所以熟悉布局方式是重中之重。

下面提供一个三种模式组合绘制的UI效果,效果图在下面。

         VStack {
            ZStack {
                Image("1")
                HStack {
                    VStack(alignment: .leading) {
                        Text("Ninja Z400").font(Font.system(size: 20.0)).foregroundColor(.black).italic()
                        Text("世界因你为精彩").font(Font.system(size: 16.0)).foregroundColor(.white)
                        Spacer()
                    }
                    Spacer()
                    VStack(alignment: .trailing) {
                        Spacer()
                        Text("YLJ").foregroundColor(.white).italic()
                    }
                }.padding()
            }.frame(width: 300.0, height: 239.0, alignment: .top)
            Image("4").resizable().frame(width: 300.0, height: 61.0, alignment: .center).mask(Text("Ninja Z400").frame(width: 300.0, height: 61.0, alignment: .center).font(Font.system(size: 36.0).bold().italic()))
         }.frame(width: 300.0, height: 300.0, alignment: .center).background(Color.yellow).cornerRadius(10.0)

SwiftUI - VStack,HStack, ZStack 分别表示的布局样式    

相关标签: SwiftUI