按钮悬浮,肯定用到ZStack容器
ZStack {
ScrollView { ... }
FloatingButton()
}
1.悬浮右下角
struct FloatingButton: View {
var body: some View {
VStack { // 1.垂直方向,使用弹簧压到底部
Spacer()
HStack { // 2.水平方向,使用弹簧压到右边
Spacer()
Button()
}
.padding() // 3.自动适配间距
}
}
}
2.悬浮左下角
struct FloatingButton: View {
var body: some View {
VStack {
Spacer()
HStack {
Button()
Spacer()
}
.padding()
}
}
}
3.居中悬浮底部
struct FloatingButton: View {
var body: some View {
VStack {
Spacer()
HStack {
Spacer()
Button()
Spacer()
}
.padding()
}
}
}
参考项目: https://github.com/Puppychan/WhatToEatToday