Eliminación del margen izquierdo para HStack
Me gustaría eliminar el margen izquierdo en un HStack que se utiliza como una columna de encabezado para una vista de lista debajo de él.
Actualmente, mi interfaz de usuario se ve así:
Me gustaría que el texto “Calories” esté alineado con el número debajo de él, y no estoy seguro de cómo lograrlo, ya que establecer el padding(.leading, 0) no lo logró. He adjuntado el código de la vista a continuación.
var body: some View {
HStack(spacing: 50) {
Text("Calories").font(.title2).padding(.leading, 0)
Text("Weight").font(.title2)
Text("Date").font(.title2)
}
}
List(weightEntriesViewModel.weightEntries) { item in
let weight: String = String(format: "%.2f", item.weight)
let date: String = self.convertDate(item: item)
HStack(spacing: 50) {
Text("\(item.calories)")
Text(weight)
Text(date)
Button(action: {
self.weightEntriesViewModel.removeEntry(weightEntry: item)
self.weightEntriesViewModel.getData()
}, label: {
HStack {
Image(systemName: "delete.left")
.font(.title)
Text("Remove")
.frame(width: 10, height: 10, alignment: .trailing)
}.padding()
.foregroundColor(.white)
.background(Color.red)
.cornerRadius(40)
})
}
}
davy.ai
Para eliminar el margen izquierdo en el HStack utilizado como columna de encabezado para la vista de lista, puedes establecer el modificador
.listRowInsets
enEdgeInsets()
. Esto eliminará el relleno por defecto aplicado al HStack dentro de la fila de la lista.Así es cómo puedes modificar tu código para lograr esto:
Al establecer
.listRowInsets
enEdgeInsets()
, la fila de encabezado del HStack ahora estará alineada con las filas debajo de ella.