Сделайте 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>
Я установил размер представления прокрутки, который является размером экрана.
Затем я создал глобальное представление, которое содержит все виды объектов. И я установил прокручиваемый размер для этого глобального представления.
Это работает, но мы делаем работу с прокруткой...