当前位置: 首页 > news >正文

swift ui 布局 ——Stack(HStack、VStack、ZStack)

一、HStack 水平布局

将其子视图排列在水平线上

import Foundation
import SwiftUI
struct MyView: View {var body: some View {HStack{Text("text")Image("yuyin").resizable().frame(width: 102,height: 80)}}
}

默认子视图是水平中心对齐的,可添加alignment  修改位置,alignmet 的值有 bottom   top  center等,可自己查看api

二、VStack 垂直布局

将其子视图排列在垂直线上

import Foundation
import SwiftUI
struct MyView: View {var body: some View {VStack(alignment: .trailing){Image("yuyin").resizable().frame(width: 152,height: 80)Image("yuyin").resizable().frame(width: 102,height: 80)}}
}

默认子视图是垂直中心中心对齐的,可添加alignment  修改位置,alignmet 的值有 leading   trailing  center等

三、ZStack  覆盖子视图

用于覆盖子视图,子视图会重叠在一起 alignmet 的值有 leading   trailing  center topLeading bottomLeading等

三、Spacer() 填充空间

我们在使用stack类控件布局时会发现,所有视图都将在屏幕人正中央,如果想靠上、靠左要怎么办呢? 我们可以使用 Spacer()

Spacer()会为了填满空间改变尺寸把其他视图“挤走”,如VStack视图中有Text和Image两个视图。我想要它靠底部,就可以在两个视图上面加一个Spacer()填充空间。效果如下


 水平布局时想要两个视图分别靠在两边可以在中间加一个Spacer()。如下

组合使用

更多复杂布局等你探索

http://www.lryc.cn/news/188907.html

相关文章:

  • 淘宝天猫商品评论数据接口,淘宝天猫商品评论API接口,淘宝API
  • C# Onnx GFPGAN GPEN-BFR 人像修复
  • ubuntu安装依赖包时显示需要先安装其所需要的各种安装包)apt-get源有问题
  • C/C++之自定义类型(结构体,位段,联合体,枚举)详解
  • HBase 表如何按照某表字段排序后顺序存储的方法?
  • webrtc用clang编译支持h264,支持msvc调用库
  • 迁移学习是什么?
  • 哈希的应用--位图和布隆过滤器
  • mac M2芯片在使用Android studio 编译问题bad cpu type in executable android
  • M4Singer ubuntu 22.04 4060ti16g ModuleNotFoundError: No module named ‘gradio‘
  • postman 密码rsa加密登录-2加密密码
  • 如何去图片水印?这些方法解决你的问题
  • Qt通过正则表达式筛选出字符串中的手机号
  • 【Pytorch】深度学习之数据读取
  • Maven教程
  • 一篇带你看懂异步:promise、async await
  • RocketMQ快速实战以及集群架构详解
  • 京东运营数据分析:2023年8月京东饮料行业品牌销售排行榜
  • ES6之函数的扩展二
  • Ubuntu-Ports更新源 ARM64更新源
  • 渗透测试怎么入门?(超详细解读)
  • MS31804四通道低边驱动器可pin对pin兼容DRV8804
  • Fastadmin 子级菜单展开合并,分类父级归纳
  • Idea创建springboot工程的时候,发现pom文件没有带<parent>标签
  • element树形控件编辑节点组装节点
  • 【算法-动态规划】斐波那契第 n 项
  • Linux系统运行级别详解,切换、配置和常见服务
  • 企业需要ERP系统的八大理由,最后一个尤其重要
  • Java-Atomic原子操作类详解及源码分析,Java原子操作类进阶,LongAdder源码分析
  • 算法通过村第十二关-字符串|黄金笔记|冲刺难题