Сделайте famo.us / Angular scrollview с множеством элементов в строке

У меня есть улей со многими плитками, и каждая плитка позиционируется модификатором, как показано ниже:

Шестигранные плитки

Мой код выглядит так:

<fa-scroll-view     fa-pipe-from="scrollEventHandler"  fa-options="scrollOptions">
    <fa-view    ng-repeat="tile in tiles">
        <fa-modifier    fa-transform="tile.transform">
              <fa-surface   fa-background-color="tile.color"/>
        </fa-modifier>
    </fa-view>
</fa-scroll-view>

и tile.transform возвращают:

this.transform = function() {
            var currentTilePosition = position.get();
            return Transform.translate(currentTilePosition[0], currentTilePosition[1], currentTilePosition[2]);
        }

Позиции верны, когда они возвращаются, но если я посмотрю в окне отладки, позиция будет изменена.

Но если я установлю размер в 'fa-modifier' (необходимо прокрутить), все мои плитки будут свернуты:

<fa-modifier    fa-transform="tile.transform"
                fa-size="[80, 75]">

Мои шестиугольники выглядят так:

Похоже, что невозможно иметь несколько элементов в одной строке вида прокрутки и автоматически передавать элементы на следующую строку.

Кто-то уже сталкивался с этой проблемой и решил ее?

1 ответ

Решение

Скроллер Famo.us, похоже, не оптимизирован для управления несколькими элементами в столбце и строке. Scroll-view не может рассчитать его размер, поэтому прокрутка невозможна.

Но можно указать размер прокрутки, чтобы указать способ прокрутки:

<fa-scroll-view     fa-pipe-from="scrollEventHandler"  fa-options="scrollOptions"
                    fa-size="[windowsWidth, windowsHeight]">
    <fa-view    id="globalView" 
                fa-size="[windowsWidth, globalScreenHeight]">
        <fa-view    ng-repeat="tile in tiles">
            <fa-modifier    fa-transform="tile.transform">
                  <fa-surface   fa-background-color="tile.color"/>
            </fa-modifier>
        </fa-view>
    </fa-view>
</fa-scroll-view>

Я установил размер представления прокрутки, который является размером экрана.

Затем я создал глобальное представление, которое содержит все виды объектов. И я установил прокручиваемый размер для этого глобального представления.

Это работает, но мы делаем работу с прокруткой...

Другие вопросы по тегам