Вам необходимо использовать .frame(minWidth: 0, maxWidth: .infinity)
модификатор
Добавить следующий код
Button(action: tap) {
Text("Button")
.frame(minWidth: 0, maxWidth: .infinity)
.background(Color.red)
}
.padding([.leading, .trailing], 20)
Модификатор отступа позволит вам иметь некоторое пространство от края.
Имейте в виду, что порядок модификаторов важен . Поскольку модификаторы на самом деле являются функциями, которые обертывают представление ниже (они не изменяют свойства представлений)