Реагировать родной — Scrollview — Применить масштабирование с помощью метода/функции, не ущипнуть

#react-native #scrollview #zooming

Вопрос:

Поскольку zoomScale параметр, похоже, не влияет на начальный уровень масштабирования, я хотел бы установить масштабирование с ScrollView помощью метода/функции.

Я обнаружил, что по ScrollView ссылке я могу получить ответчика, а затем применить scrollResponderZoomTo, но это только iOS.

Есть ли способ манипулировать масштабированием a ScrollView другим способом, кроме жеста щипка?

Ответ №1:

Отвечая на мой собственный вопрос, можно использовать функцию scrollResponderZoomTo на ответчике ScrollView через ссылку на компонент :

 ...
<ScrollView
   ref={this.scrollViewRef}
...
 

И такой звонок, как этот :

 this.scrollViewRef.current?.getScrollResponder().scrollResponderZoomTo({
    x: viewContentOffsetX || 0,
    y: viewContentOffsetY || 0,
    width: widthOfTheVisiblePart,
    height: heightOfTheVisiblePart,
    animated: false})
 

До функции для вычисления видимой части на основе ожидаемого значения масштабирования