swift水平组合(HStack)

简介: swift水平组合(HStack)

在SwiftUI框架中,HStack 是一种布局容器视图,它允许您在水平方向上排列一系列视图。您可以将多个视图放入 HStack 中,它们会按顺序从左到右排列。下面是一个基本的 HStack 使用示例:

import SwiftUI

struct ContentView: View {
   
    var body: some View {
   
        HStack(alignment: .bottom, spacing: 40) {
    // 设置水平排列的对齐方式为底部对齐,子视图间的间距为40
            Image(systemName: "star.fill")
                .foregroundColor(.yellow)
            Text("Favorites")
            Spacer() // 这个视图会填充剩余空间,确保右侧有间隔
            Button(action: {
   
                print("Add Favorite")
            }) {
   
                Image(systemName: "plus.circle.fill")
            }
        }
        .padding() // 可选地给整个HStack添加内边距
        .background(Color.gray) // 可选地给HStack背景添加颜色以便于可视化布局
    }
}

struct ContentView_Previews: PreviewProvider {
   
    static var previews: some View {
   
        ContentView()
    }
}

在这个例子中:

  • 我们定义了一个 ContentView 结构体,它遵循 View 协议,并在其 body 属性中构建视图层次结构。
  • 使用 HStack 在水平方向上排列了三个子视图:一个黄色填充的星星图标、一段文本以及一个带有加号图像的按钮。
  • alignment: .bottom 表示所有子视图在水平堆栈内的底部对齐。
  • spacing: 40 指定每个相邻视图之间的固定间距为40点。
  • Spacer() 视图用来在需要的地方填充空间,使得“Add Favorite”按钮始终位于视图的最右侧。

通过调整 HStack 内部的参数和视图配置,您可以灵活地设计用户界面布局。

目录
相关文章
|
存储 Swift
SwiftUI极简教程41:使用Segment、LazyVGrid和ImagePicker构建一个Logo生成器
在本章中,你将学会使用Segment分段器、LazyVGrid垂直网格、ImagePicker图片选择器构建一个Logo生成器。 在上一章中,我们完善了SearchBar搜索栏、TabView底部导航,还有做了一个Loading加载动作。最近突然有个想法,如果把色卡和图片进行组合,这不就是一个简单的Logo了吗?我能不能做个Logo生成器? 说干就干,我们继续完成App的相关内容。
819 0
SwiftUI极简教程41:使用Segment、LazyVGrid和ImagePicker构建一个Logo生成器
SwiftUI—方便用户选择日期的DatePicker日期拾取器
SwiftUI—方便用户选择日期的DatePicker日期拾取器
1892 0
SwiftUI—方便用户选择日期的DatePicker日期拾取器
|
数据库 数据安全/隐私保护 数据库管理
|
11月前
|
Rust Ubuntu Linux
|
iOS开发
Xcode 10.2.1 Error:Multiple commands produce问题及解决方案
Xcode 10.2.1 Error:Multiple commands produce问题及解决方案
1422 0
|
机器学习/深度学习 存储 程序员
C语言编辑器
C语言编辑器
917 0
|
定位技术
uniapp使用map标签
uniapp使用map标签
328 2
|
iOS开发 开发者
iOS App 上架指南及关键建议
上架App Store是将iOS应用提交申请并上线的过程,旨在让应用在App Store上展示,吸引用户并获取流量。本文将介绍iOS上架的整体流程,并提供一些建议和注意事项。
|
vr&ar Swift
大师学SwiftUI第9章Part 1 - 异步并发之Task、Async、Await和错误
苹果系统借助现代处理器的多核可同步执行多条代码,提升同一时间内程序所能执行的任务。例如,一段代码从网上下载文件,另一段代码可以在屏幕上显示进度。此时,我们不能等待第一个执行完后再执行第二个,而必须要同步执行这两个任务。
489 0
|
iOS开发
iOS应用内弹窗通知怎么实现?其实很简单,这样,这样,再这样.....你学会了么?
iOS应用内弹窗通知怎么实现?其实很简单,这样,这样,再这样.....你学会了么?
577 0