有没有办法以编程方式在NativeScript中禁用/启用ScrollView滚动?
好的,我找到了解决方法。在iOS上,这实际上非常简单:
var scrollView = page.getViewById('YOUR_VIEW_ID')
scrollView.ios.scrollEnabled = false // to disable
scrollView.ios.scrollEnabled = true // to enable back
安卓:
同样对于我的特殊情况,我需要禁用滚动视图的滚动,但是将子视图拖放到内部。在子视图上开始拖动(平移)事件时,我们可以通过以下方式防止滚动视图中的触摸事件被拦截:
scrollView._nativeView.requestDisallowInterceptTouchEvent(true)
并通过以下方式在停止拖动(平移)子视图事件时再次启用它们:
scrollView._nativeView.requestDisallowInterceptTouchEvent(false)
如果您还有其他情况,并且只想禁用“滚动视图”滚动,则可以使用以下方式(对于Android):
scrollView._nativeView.setOnTouchListener(new android.view.View.OnTouchListener({
onTouch: function (view, motionEvent) {
console.log("DISABLED. onTouch event: Got motionEvent.getAction() " + motionEvent.getAction() + ".");
return true;
}
}))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句