Как заставить кнопки виджета SwiftUI заполнять высоту контейнера при использовании GeometryReader с рассчитанной высотойIOS

Программируем под IOS
Anonymous
Как заставить кнопки виджета SwiftUI заполнять высоту контейнера при использовании GeometryReader с рассчитанной высотой

Сообщение Anonymous »

Я создаю виджет iOS (WidgetKit) с сеткой кнопок 2×2, используя GeometryReader для расчета высоты строк. Кнопки должны полностью заполнять свои
контейнеры и иметь одинаковую высоту, как виджет Apple Shortcuts.
Ожидаемый результат:
Все кнопки должны иметь одинаковую высоту и равномерно заполнять доступное пространство, например:
Изображение

Фактический результат:
Фоны кнопок не заполняют расчетную высоту контейнера. Сами контейнеры равны (проверено по границам отладки
, показаны высотой 44 pt), но содержимое/фон кнопки не дотягивает:

Текущий Реализация:
Использование GeometryReader для вычисления cellHeight, а затем применение его с помощью .frame(height: cellHeight):

Код: Выделить всё

GeometryReader { geo in
let cellHeight = (geo.size.height - totalSpacing - totalPadding) / 2

VStack(spacing: 8) {
ForEach(0..

Подробнее здесь: [url]https://stackoverflow.com/questions/79785623/how-to-make-swiftui-widget-buttons-fill-their-container-height-when-using-geomet[/url]

Вернуться в «IOS»