昨天学了toggle,今天学stack以及如何做切换页面。
stack用来排版用的,其实前面都有用到,只不过没有拿出来讲。
一样都是使用{}去把它包起来。
不罗唆,先上code:
struct ContentView: View {
@State private var isSwitchOn = true
@State private var isSwitchOn2 = true
var body: some View {
VStack {
Text("按底下按钮直接变瘦子")
.padding()
HStack {
Button(action: {
}) {
Text("我超帅按钮")
.fontWeight(.bold)
.font(.system(size: 25))
.padding()
.background(Color.green)
.cornerRadius(40)
.foregroundColor(.white)
.padding(10)
}
Button(action: {
}) {
Text("我不帅按钮")
.fontWeight(.bold)
.font(.system(size: 25))
.padding()
.background(Color.red)
.cornerRadius(40)
.foregroundColor(.white)
.padding(10)
}
}
Button(action: {
}) {
HStack {
Image(systemName: "person.fill.checkmark")
.font(.title3)
Text("帅起来!")
.fontWeight(.semibold)
.font(.title)
}
.padding()
.foregroundColor(.black)
.background(Color("pppink"))
.cornerRadius(40)
}
HStack {
VStack {
Image(systemName: "person.fill")
.font(.system(size: 50))
.foregroundColor(isSwitchOn ? Color("pppink"):.purple )
Text(isSwitchOn ?"好帅":"不帅")
.font(.largeTitle)
Toggle("switch", isOn: $isSwitchOn)
.labelsHidden()
.padding()
}
VStack {
Image(systemName: "person.fill")
.font(.system(size: 50))
.foregroundColor(isSwitchOn2 ? Color("pppink"):.purple )
Text(isSwitchOn2 ?"好帅":"不帅")
.font(.largeTitle)
Toggle("switch", isOn: $isSwitchOn2)
.labelsHidden()
.padding()
}
}
}
}
}
上面的我超帅按钮以及我不帅按钮先用HStack包起来就可以了。
但最下面那一排就稍微麻烦一点,要先将三个物件(图片、文字、toggle)用VStack包起来,再将两组使用HStack包起来。
我们之前所写的程序都是单页,但我们看到市面上大部分的程序都是滑动页面。
ScrollView写法很简单,请参照以下写法。
ScrollView {
content
}
使用ScrollView的效果就是以下:
可以去做滑动。
那我们这边复制好几次上面的物件试看看。
完全正常滑动。
今天的最後我们就学一下Stepper吧!
Stepper的中文是步进器,主要用於数字的部分,加号减号组成。
首先我们必须我们添加浮点数类型的变数。
@State var sum: Double = 0
一样放在structure底下。
再来我们在底下使用Stepper。
Stepper(onIncrement: {
self.sum += 1
},onDecrement:{
self.sum -= 1
}, label:{ Text("sum:\(Int(sum))")
.multilineTextAlignment(.center)
.padding(.horizontal, 100.0)})
一样必须设两个变量,否则会互相干扰。
今天学会了很多,但真的有一点点杂,建议各位多练习,大家晚安!
明天要学切换分页!
>>: Day-18 再次点亮那传递无尽创意的紫色魔方 GameCube
半径R圆心座标(x,y)与x,y轴的关系 昨天我们渲染了图表出来,但是出现的问题是超出了座标轴的范围...
WebRTC 是什麽? WebRTC(Web Real-Time Communication),即指...
大家好,我是西瓜,你现在看到的是 2021 iThome 铁人赛『如何在网页中绘制 3D 场景?从 ...
前篇几篇(需求管理、产品设计)终於介绍完,产品从最原始的需求转变成产品方案的演进史,接着就要来分享这...
虽然昨天已经介绍了如何在你的网页中实作 Color System,但严格上来说今天才算是这系列第一...