NativeScript ScrollView scrollToHorizontalOffset не работает

У меня есть этот ScrollView:

<ScrollView orientation="horizontal" id='scroll'>
    <StackLayout orientation='horizontal' swipe='swipe'>
      <Image src="image1" />
      <Image src="image2" />
      <Image src="image3" />
      <Image src="image4" />
     </StackLayout>
</ScrollView>

и js:

function swipe(args) {
    var scroll = args.view;
    scroll.scrollToHorizontalOffset(0, true);
}
exports.swipe = swipe;

Я ожидаю, что каждый свайп, который я сделал на scrollView, будет переходить к HorizontalOffset, который я установил для scrollToHorizontalOffset, но он не работает.


person Camille Lagrama    schedule 17.11.2015    source источник


Ответы (1)


Причина, по которой scrollToHorizontalOffset не работает, заключается в том, что вы пытаетесь вызвать его в StackLayout, когда он принадлежит ScrollView. Есть две вещи, которые вы можете сделать:

  1. var scroll = args.view.parent — потому что view — это StackLayout, и вам нужен ScrollView, который является его родителем.

or

  1. Прикрепите жест непосредственно к ScrollView — <ScrollView orientation="horizontal" id='scroll' swipe='swipe'>
person Neli Chakarova    schedule 17.11.2015
comment
Спасибо. Я попытался прикрепить жест к прокрутке, но, тем не менее, он не выполнил прокрутку до горизонтального смещения. - person Camille Lagrama; 18.11.2015
comment
Это работает, когда я удалил логическое значение в scrollToHorizontalOffset. Согласно документации, это для анимации. Хм, как я могу добавить анимацию к этому? Хм - person Camille Lagrama; 18.11.2015
comment
@CamilleLagrama-я отредактировал свой ответ выше, чтобы избежать двусмысленности. Я тестировал оба случая. Во-первых, я включил достаточно картинок, чтобы иметь возможность горизонтальной прокрутки внутри представления. Когда я прокручиваю, скажем, до конца просмотра и смахиваю - картинки прокручиваются обратно в начало. Я использую {N} 1.4.3 и тестирую на симуляторе iPhone. Можете ли вы сказать мне, какую версию и устройство вы используете? - person Neli Chakarova; 18.11.2015
comment
Да, он работает без логического значения, но мне нужна анимация при прокрутке. хм... я использую {N} 1.4.3 и тестирую его на телефоне Android и симуляторе с версией Android 4.2.2. - person Camille Lagrama; 18.11.2015