swift UI 学习笔记(二)

一.三种栈堆

这三种栈堆简单来说就是各种元素的不同堆叠方式,这里最初始的vstack就省略了

就是竖直方向上的排列

1.ZStack(垂直堆叠视图)

ZStack是一种堆叠式布局容器,它按照视图的添加顺序在垂直于屏幕(三维空间中的 Z 轴方向)的方向上堆叠视图。就像是将一张张透明的纸片叠放在一起,后添加的视图会覆盖在前面添加的视图之上。所有子视图的位置都是相对于ZStack的左上角为原点进行定位的,不过通常不需要精确地设置位置,因为重点是它们的堆叠顺序。例如,在一个ZStack中先添加一个背景图片,再添加一个文本标签,文本标签就会显示在背景图片之上。当需要创建一些具有覆盖效果的界面,如在图片上添加文字、图标或者在一个视图之上添加遮罩等场景时,ZStack非常有用。

这里我们就相当于把这个名为denglu 的图片作为背景,在最底层

而他后面的元素都会在他前面显示出来,顺序是从里到外

2.HStack(水平排列视图)

HStack用于水平排列子视图。子视图从左到右依次排列,HStack会根据子视图的大小自动调整自身的宽度,以容纳所有子视图。和VStack一样,它也可以设置子视图之间的间距(通过spacing属性)。例如,在一个HStack中添加几个图标,它们会在水平方向上依次排列。常用于创建工具条、导航栏等水平方向的布局。例如,在一个简单的图片编辑应用的导航栏中,可以使用HStack来排列返回按钮、标题和分享按钮等。

比如这里我要将微信和QQ的图标水平排列,最后的效果就是这样 

 二.滚动视图

当我们的视图太大导致无法在一个页面看完时,我们就需要用到滚动视图ScrollView

ScrollView是 SwiftUI 中用于创建可滚动视图的容器。当视图中的内容超出了屏幕所能显示的范围时,使用ScrollView可以让用户通过滚动操作(比如上下滑动或者左右滑动,取决于ScrollView的滚动方向设置)来查看全部的内容

这里我就将我的主页面设置为了滚动视图 

除了竖直方向上的滚动

我们还可以将其设置为水平滚动

.horizontal就是将它设置为水平滑动的修改器

showsIndicators: false  这个东西是我们用来隐藏滑动条的

三.颜色改变(结构体)

当我们想要点击后给用户一个反馈,我们就要将这个按钮的颜色改变

注意看这里的按钮的主要元素都相同,不同的就是文本内容

所以这里我们就可以定义一个结构体 

我们将文本设置为变量,然后把我们需要的背景颜色和文字颜色设置好

重要的是button的内容

我们定义了一个bool类型的变量,当我们点击按钮时,a的值反转,颜色改变

 

在主视图中我们就可以这样调用这个结构体了,操作简单的同时也可以让你的代码更加清晰简洁 

四.疑惑 

在第三页中,我需要一个横着滑动的菜单栏,并且当我点击一个选项,其他的选项变为灰色,点击中的变为黑色

我定义了一个bool数组,第一个值默认为被点击的状态 

在这段函数中我本来是想将颜色设置为

.foregroundColor(choose[index]?Color.black: Color.gray )

这样我就能控制 他的颜色

 

但是他就会报错,代码界面也没显示错误原因 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值