Вот мой макет (это приложение nativescript-vue):
<template>
<GridLayout rows="*,auto,*" height="100%">
<StackLayout row="0" />
<ScrollView row="1" orientation="vertical">
<StackLayout>
<slot />
</StackLayout>
</ScrollView>
<StackLayout row="2" />
</GridLayout>
</template>
Теперь, в зависимости от размера экрана, мой контент полностью помещается на странице, и в этом случае я хочу, чтобы он был вертикально централизован внутри своего контейнера, которым является ScrollView, занимающий все пространство между верхней панелью и панелью навигации. Итак, в этом случае внутри ScrollView будет некоторое пустое пространство над и под содержимым.
или содержимое не полностью вписывается в границы ScrollView, и в этом случае пустое пространство над или под моим содержимым в ScrollView должно исчезнуть, и содержимое должно быть прокручено естественным образом.
Это работает, если содержимое подходит, в противном случае он не прокручивается, я думаю, потому что он устанавливает высоту ScrollView, достаточно большую, чтобы содержать его содержимое, чтобы он больше не переполнялся.
Я думаю, что решить эту проблему может то, что я установил максимальную высоту для ScrollView, чтобы его высота не превышала высоту экрана.