Вопрос

Я пытаюсь добавить изображение под прокруткой, используя знаменитый 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 генератор)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top