使用每行许多元素制作famo.us / Angular scrollview

时间:2014-11-04 12:38:42

标签: famo.us famous-angular

我有一个带有许多瓷砖的蜂箱,每个瓷砖按修改器定位如下:

Hexagon tiles

我的代码如下所示:

<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]);
        }

返回时位置是正确的,但如果我查看调试窗口,则会修改位置。

但如果我在&#39; fa-modifier&#39;中设置尺寸。 (需要滚动),我的所有瓷砖都已折叠:

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

我的六边形看起来像这样:

enter image description here

看起来不可能在scrollview的同一行上有多个元素,并自动将项目传递到下一行。

有人已经遇到过这个问题并解决了吗?

1 个答案:

答案 0 :(得分:1)

Famo.us卷轴似乎未经过优化,无法管理列和行中的多个项目。 滚动视图无法计算其大小,因此无法滚动。

但是可以强制滚动视图大小来指示如何滚动:

<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>

我设置了滚动视图大小,这是屏幕大小。

然后我创建了一个包含所有对象视图的全局视图。我将可滚动大小设置为此全局视图。

这样可行,但我们会滚动查看作业...