swift是一种混合了面向对象变成,函数式编程,协议式编程的语言
1. Struct
- swift中的struct叫做结构体,不仅可以存储变量,还能存储函数和行为
- 声明一个结构体的“行为”为View如下所示
struct ContentView : View {}
,View是屏幕上的一个个矩形,既可以用于绘画,也可以用于接收触控
声明View - 通常我们叫一个类或者结构体中的变量为“属性”,属性的声明就上所示
var body : some View{}
,some View 代表了属性的类型,代表着这个View可能由很多个小的View组成。 - 属性body的值不存储在内存上,而是被计算出来的,所以每次当有人要使用body属性时,body后花括号{}里的内容就会被执行
- 当某个结构体被声明为View时,只需要它的body属性返回一个表现为View的东西(它可以是some View,也可以是Text,也可以是其他的)
2. ZStack
-
ZStack是一个容器,里面可以装很多的View,Text和RoundRectangle都属于View
-
最上面的在最底层,最下面的在最外层
ZStack -
任意属于View的组件,都可以使用fill()和stroke()函数,fill()可以填充颜色,stroke()则可以给view描边
-
如下图所示,一个ZStack容器中有三层View,
- 最底层是一个RoundRectangle()涂满了橘色,
- 中间层是一个RoundRectangle()加上了橙色边框
- 最上层是一个Text()
-
padding()可以让任意View有外边框,这里给ZStack加了一个外边框
-
foregroundColor可以给View设置颜色(backgroundColor则是设置背景颜色),给ZStack设置foregroundColor则是将ZStack中的每一个元素都设置为外层的颜色,而且foregroundColor可以被覆盖,所以里层的foregroundColor将覆盖外层的foregroundColor。
3. 括号省略
- 当函数的最后一个参数是闭包时,可以省略参数名称,并把大括号写在小括号外面
- 当函数的小括号里面没有参数名称时,也可以把小括号省略
-
HStack是一个横向的容器,被装在里面的View会横向排布
未省略
省略后
4. 封装
-
将ZStack封装成CardView,以便在其他地方更简洁清楚地调用
封装
网友评论