是否有一种方法来对齐对象,使它们根据未使用的空间调整大小?
这里有一个例子--有三个对象,一个背景正方形和前景文本,文本下面有一个高亮矩形。文本和高亮的间距应该相等(或者足够近)。
这是我所得到的(我已经尝试了各种不同的迭代,虽然太空人命令似乎有点ideosynchratic(取决于各种因素,我还没有完全理解)...
struct hlGroup: View {
var body : some View {
Color(red:20/255,green: 45/255, blue:71/255)
.frame(width:50, height:56)
.cornerRadius(6)
.overlay(alignment:.center){
Spacer()
VStack(){
Text(String(0))
.foregroundColor(.white)
.font(Font.system(size:30, weight:.bold))
HStack(spacing: 2){
hlShow(hlColor: Color(red:100/255, green: 227/255, blue: 50/255))
}
Spacer()
}}}}
struct hlShow: View {
let hlColor :Color
var body: some View {
Rectangle()
.foregroundColor(hlColor)
.frame(width:30, height:6)
.cornerRadius(2)
}}
1条答案
按热度按时间lnlaulya1#
除非我遗漏了一些特定的要求,否则使用
VStack
作为主容器可以很容易地实现布局(为文本添加一个边框作为边界指示器--以80 × 80预览):x1c 0d1x