Прокладка в LazyVStack не занимает все доступное пространство.IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Прокладка в LazyVStack не занимает все доступное пространство.

Сообщение Anonymous »

Я пытаюсь составить список с помощью LazyVStack, где содержимое занимает все пространство, а нижний колонтитул остается внизу экрана. Однако, если в списке много элементов, он должен занимать весь экран, а нижний колонтитул будет отображаться только тогда, когда пользователь прокрутил список до конца (так закрепленный вид/прикрепленный нижний колонтитул).
Вот фрагмент кода, демонстрирующий то, что я сейчас вижу:

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

struct ContentView: View {
@Bindable var viewModel: MockViewModel // Just contains an array of data

var body: some View {
GeometryReader { reader in
ScrollView {
VStack { // Update this to LazyVStack
if viewModel.dataSet.isEmpty {
EmptyListView()
} else {
ForEach(viewModel.dataSet, id: \.id) { viewData in
VStack(spacing: 0) {
DataCell(viewData: viewData)
.background()
.padding(.bottom, 16)
if (viewData.id != viewModel.dataSet.last?.id) {
Divider()
}
}
}
}

/* Footer that would expand to take up any unused space */
VStack(spacing: 0) {
Spacer()
FooterView()
}.frame(maxHeight: .infinity, alignment: .bottom)
}.background()
.frame(minHeight: reader.size.height)
}
}.ignoresSafeArea(edges:.bottom)
}
}
Как бы выглядел список, если бы он был заполнен данными.
Как бы выглядел список, когда он достигнет нижней части. >
Как бы выглядел список, если бы он содержал только 1 элемент. Это использование VStack.
Однако это то, что я вижу при использовании LazyVStack. Похоже, что компонент Spacer не расширяется, чтобы заполнить доступное пространство.
С включенным кодом (с использованием VStack) я могу добиться результаты, которые я ищу. Однако при использовании LazyVStack кажется, что Spacer всегда имеет высоту 0. Я получаю тот же результат, как если бы тот же контент был помещен внутри List. Есть ли способ добиться того, что мы ищем в LazyVStack? Мы предпочитаем использовать LazyVStack, чтобы избежать предварительной визуализации всего представления при его загрузке.
Будем очень признательны за любые подсказки! Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/792 ... able-space
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как я могу создать div, который занимает все доступное пространство, но не переполняется?
    Anonymous » » в форуме CSS
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Почему col-auto с красной рамкой занимает больше высоты, чем доступное содержимое?
    Anonymous » » в форуме CSS
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • HTML: центральный диапазон в div, но расширяется, чтобы заполнить все доступное пространство в div
    Гость » » в форуме CSS
    0 Ответы
    47 Просмотры
    Последнее сообщение Гость
  • Сделайте так, чтобы div занимал все доступное пространство по высоте.
    Гость » » в форуме CSS
    0 Ответы
    37 Просмотры
    Последнее сообщение Гость
  • CSS – заставить div использовать все доступное пространство
    Anonymous » » в форуме CSS
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous

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