Как использовать макет ScrollView со страницами-маршрутизатором-розеткой и лениво загруженными модулями? - PullRequest
0 голосов
/ 13 марта 2019

Итак, я новичок в NativeScript. Я сделал 2-3 учебника, но я возглавляю проект по написанию кроссплатформенного мобильного приложения, и я столкнулся со странным сценарием и не могу найти никакой реальной углубленной информации, детализирующей различия и как процесс макета работает.

Для простоты я сокращу большинство примеров кода. Моя проблема в том, что я ищу простой способ использования RadSideDrawer. Я хотел бы сделать tkMainContent a ScrollView, чтобы я мог использовать Angular router и page-router-outlet компонент для рендеринга всего моего контента между моими ActionBar в верхней части представления и BottomNavigation внутри tkMainContent. Я разметил это так ...

<GridLayout rows="auto,*,auto">

<GridLayout row="0">
<!-- Custom ActionBar stuff -->
</GridLayout>

<StackLayout row="1">
  <ScrollView>
    <page-router-outlet></page-router-outlet>
  </ScrollView>
</StackLayout>

<GridLayout row="2">
<!-- Bottom Navigation Stuff -->
</GridLayout>

Это решение работает ОТЛИЧНО, как я и ожидал в Android. Однако, когда я компилирую и запускаю в эмуляторе iOS, содержимое моего ScrollView становится в два раза больше ширины представления и переполняется справа от представления, и я не могу прокручивать или видеть переполненное содержимое. Также не работает вертикальная прокрутка.

Ранее у меня был ScrollView внутри моих дочерних компонентов, который, казалось, хорошо работал в iOS, но я не мог прокрутить вообще в Android. Это привело меня к осознанию того, что это чувствовалось как глупый способ разработки приложения, так как это портретное приложение типа производительности, которое будет всегда сохранять структуру верхнего уровня, и каждый компонент внутри страницы-маршрутизатора-розетки будет внутри ScrollView. С моей стороны это может быть плохим дизайном из-за непонимания того, как NativeScript вычисляет ширину / высоту, но после прочтения документации по Процессу компоновки я чувствую себя менее ясно, как это работает, чем раньше.

Пожалуйста, кто-нибудь объяснит мне, что я здесь не так делаю?

...