Высота прокрутки Famo.us
-
26-12-2019 - |
Вопрос
Я пытаюсь добавить изображение под прокруткой, используя знаменитый sequentialLayout, и у меня проблема с высотой прокрутки.
Вот как я создаю свой прокрутку.
var scrollview = new Scrollview({
direction: Utility.Direction.X,
options: {
size: [300, 300]
},
paginated: true
});
Когда я добавляю поверхности в представление прокрутки с высотой 250, родительский DOM-контейнер прокрутки (известная группа), содержащий эти поверхности, имеет ширину и высоту 0.
При добавлении этого представления прокрутки в sequentialLayout в качестве первого элемента второй элемент или поверхность с высотой отображается поверх этого представления прокрутки, поскольку у него нет высоты.
Есть идеи, как это исправить с помощью Famo.us?
Решение
Вы не можете установить такой размер — используйте для этого модификатор.
Это будет дерево рендеринга
MainContext
SequentialLayout
Modifier(size)
ScrollView
Modifier(size)
Image
Фрагмент кода:
// Create components
var scrollview = new ScrollView();
var image = new ImageSurface({
content: 'content/images/famous_symbol_transparent.png'
});
// Create Size Modifiers
var scrollModifier = new StateModifier({ size: [200,200]});
var imageModifier = new StateModifier({ size: [200,200]});
// Wrap the Modifier in a RenderNode, so we can add the surface
// (you can't add surfaces directly to a modifier)
var scrollNode = new RenderNode(scrollModifier)
scrollNode.add(scrollview);
var imageNode = new RenderNode(imageModifier);
imageNode.add(image);
// Create a SequentialLayout
var sequence = new SequentialLayout();
sequence.sequenceFrom([scrollNode,imageNode]);
И вот пример суть (скопируйте-вставьте main.js
после запуска yo famous
генератор)