Прокладка в 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 МБ.

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