2016-08-29 18 views
7

Benim yerel uygulamada dikey ScrollView widget'ına sahip bir sahneyi görüntülemek için askonov'un react-native-router-flux kullanıyorum. Sahneyi alttan yukarı doğru süzülecek şekilde yapılandırdım ve varsayılan olarak, yukarıdan aşağı doğru sürüklenerek sahneyi kapattığını görünüyor.Dikey gezinme ile çakışan dikey scrollview

<Router> <Scene key="root" hideNavBar={true}> <Scene key="welcome" component={Welcome}/> <Scene key="demo" component={Demo} direction="vertical"/> </Scene> </Router>

scrollview kullanıcıları aşağı yukarı sürükleyin ve beklenen böylece ekranda görüntülenebilir sonra ne daha fazlasını içerir. Maalesef, ScrollView ile sürükle-kapat-sahne sahne davranışı çakışıyor gibi görünüyor, bu yüzden kullanıcılar sadece kaydırmak istediklerinde sahneyi istemeden kapatıyorlar.

Özellikle - fiske hareketinin özellikle geçersiz kılındığı anlaşılıyor. Flört etmek ScrollView içeriğinde olduğu gibi çekilmemelidir, aşağı kaydırmak ise sahneyi kapatır.

Bu, Native 0.32 React olarak yükseltdiğim için yeni bir davranış gibi görünüyor. 0.22'deyken, kaydırma hareketi hala ScrollView içeriğini oynatmak için çalıştı.

İdeal olarak, ScrollView'ın içeriği zaten tamamen yukarı kaydırılmışsa, yalnızca sahneyi kapatmak istiyorum. Flick-to-clos davranışını tamamen devre dışı bırakmaya razı oldum.

cevap

3

Sahne ekipmanlarınıza panHandlers={null} eklemeyi deneyebilirsiniz. Bu fiske-kapanmayı devre dışı bırakmalı, inanıyorum.

Ayrıca, muhtemelen sonra kullanıcı üst (temelde bir açılan Yenilemek için eylem de zaten listeden aşağıya çekiyor bir eylem eklemek için scrollview bir RefreshControl kullanmak, ama olabilir bunun yerine işi reddeder, hacky ama işe yarayabilirdi.

+0

Mükemmel! Tam olarak ihtiyacım olan şey bu kadar çok teşekkürler :) – frank