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 内部的参数和视图配置,您可以灵活地设计用户界面布局。

目录
相关文章
|
数据库 数据安全/隐私保护 数据库管理
|
4月前
|
机器学习/深度学习 人工智能 API
MaaS市场全球领导者!阿里云5项能力获评最高评级
18日,Omdia发布《2025年全球企业级MaaS市场分析》报告,阿里云获评全球领导者,并在基础模型、模型精调等5大维度获最高评级,为中国唯一。报告指出,MaaS已进入2.0阶段,需提供全栈AI能力。阿里云凭借通义大模型、百炼平台等全栈方案,服务超100万客户,覆盖众多世界500强企业,GenAI渗透率居首。
397 2
|
Rust Ubuntu Linux
|
10月前
|
API 开发者
鸿蒙NEXT上传图片功能PhotoViewPicker核心功能解析
`PhotoViewPicker` 是鸿蒙系统中用于媒体资源选择的核心组件,通过它可以便捷地实现图片、视频等媒体文件的选择功能。下面从基本用法、参数配置到高级应用进行全面解析:
306 1
|
10月前
|
前端开发 开发工具 开发者
HarmonyOS NEXT实战:沙箱工具
本教程介绍如何在HarmonyOS中通过SDK实现沙箱文件管理。主要内容包括:获取应用沙箱路径、使用fs模块进行文件操作,如打开、复制、读写和删除文件等。通过封装SandboxUtil工具类,实现保存文件到沙箱及清除沙箱文件功能,帮助开发者掌握HarmonyOS应用文件管理技巧。
446 0
|
监控 物联网 网络性能优化
【杂谈】-MQTT与HTTP在物联网中的比较:为什么MQTT是更好的选择
通过上述分析,可以看出MQTT在物联网应用中的确是更好的选择。其高效的通信模型、低带宽消耗、稳定的连接保持机制以及可靠的消息质量保证,使其在各种物联网场景中都能表现出色。开发者在设计和实现物联网系统时,应优先考虑采用MQTT协议,以充分发挥其在资源受限环境下的优势,提升系统的整体性能和可靠性。
3027 26
|
SQL JavaScript Java
Spring Boot 3 整合 Mybatis-Plus 实现数据权限控制
本文介绍了如何在Spring Boot 3中整合MyBatis-Plus实现数据权限控制,通过使用MyBatis-Plus提供的`DataPermissionInterceptor`插件,在不破坏原有代码结构的基础上实现了细粒度的数据访问控制。文中详细描述了自定义注解`DataScope`的使用方法、`DataPermissionHandler`的具体实现逻辑,以及根据用户的不同角色和部门动态添加SQL片段来限制查询结果。此外,还展示了基于Spring Boot 3和Vue 3构建的前后端分离快速开发框架的实际应用案例,包括项目的核心功能模块如用户管理、角色管理等,并提供Gitee上的开源仓库
3231 11
|
开发框架 前端开发 Swift
SwiftUI的优缺点
SwiftUI的优缺点
903 0
|
JSON 数据格式
JsonParseException: Unexpected character (‘ï‘ (code 239)): was expecting comma to separate Object
JsonParseException: Unexpected character (‘ï‘ (code 239)): was expecting comma to separate Object
696 0
|
Swift iOS开发 C++
设置Swift开发环境
设置Swift开发环境
402 1

热门文章

最新文章

下一篇
开通oss服务