Rellenar rectángulo sin alterar la geometría de HStack
Oct 06 2020
Cómo rellenar el rectángulo negro de la izquierda para que se ajuste a la altura del color rojo y azul combinados.
Básicamente, el color negro en lugar de estar en el medio así,
Debe llenarse para ocupar el espacio restante.
HStack(spacing: 1) {
Color.black
.aspectRatio(contentMode: .fit)
VStack(alignment: .trailing, spacing: 1) {
Color.red
.aspectRatio(contentMode: .fit)
Color.blue
.aspectRatio(contentMode: .fit)
}
}
Respuestas
1 Asperi Oct 06 2020 at 17:05
Este es probablemente el enfoque más simple ...
var body: some View {
HStack(spacing: 1) {
VStack(spacing: 0) {
Color.clear
.aspectRatio(contentMode: .fit)
Color.clear
.aspectRatio(contentMode: .fit)
}
.overlay(Color.black)
VStack(alignment: .trailing, spacing: 1) {
Color.red
.aspectRatio(contentMode: .fit)
Color.blue
.aspectRatio(contentMode: .fit)
}
}
}
En mi otra respuesta se proporcionó un enfoque alternativo con guías de alineación https://stackoverflow.com/a/60346544/12299030.
En mi otra respuesta se proporcionó un enfoque alternativo con preferencias de vista https://stackoverflow.com/a/63165931/12299030.