没有什么swift基础,参考的教程是苹果官方的教程
https://developer.apple.com/tutorials/swiftui/creating-and-combining-views
做个学习备忘
import SwiftUI
struct ContentView: View {//swift推荐优先使用struct,View是一个协议,协议可作为类型来用,结构ContentView遵从View协议
var body: some View {//协议中的属性,往往用var来声明,some关键字表示这里的类型是某种View,具体是那种View,编译器自己会判断,不需要程序员来判断。
Text("Hello, World!") //这个view中只有一个文本控件
}
}
struct ContentView_Previews: PreviewProvider {//PreviewProvider协议用来生成预览视图
static var previews: some View {
ContentView()
}
}
修改代码如下:
Text("Hello, World!lg")
.font(.title)//需要说明一下,font是一个函数,它的返回值也是Text,这种简写形式的说明在language guide里看到过,一下子翻不出来了,
通过属性面板来修改属性就简单了,注意font不叫属性,而是modifier
在swift中,View的组合很方便,增加一个View也不需要把它引用进来就可以用了
类型可以被推断的时候,可以不用写类型
swiftui中的整个布局和弹性布局比较接近,VStack和HStack分别代表竖轴和横轴
如果属性能够更加接近css就更好了
frame设置宽和高
padding设置内边距
font设置字体,尽量使用默认的样式定义
Spacer用来设置留白的问题,留白是可变长的,决定容器的剩余空间怎么分配,很好用
类似网页布局,内容会撑大容器,而且只影响后面的元素,貌似,这个例子中,如果图像太大,CircleView()的宽度超出屏幕宽度
要保证image适配屏幕宽度?加padding会让整个image变大。
后续的练习中有介绍。
https://developer.apple.com/tutorials/swiftui/building-lists-and-navigation
Path可以用来画图,大部分views都带有animation效果。这写内容再需要用到的时候,再看吧。