我在Xamarin Forms和iOS上使用ScrollView,滚动视图会在您触及顶部或底部时反弹(通常太远)。我的理解是这是默认的iOS行为吗?有没有办法可以禁用它,这样滚动就没有反弹?
答案 0 :(得分:6)
是的,可以禁用弹跳效果。但您需要创建Custom Renderer。
在您的特定情况下,您必须使用ScrollViewRenderer
作为自定义渲染器的基类。然后,在自定义渲染器中,您只需将Bounces
设置为false
。
可以找到自定义渲染器的示例here。您的结果应如下所示:
<强> PCL:强>
public class CustomScrollView : ScrollView
{
public CustomScrollView() {}
}
<强>的iOS:强>
[assembly: ExportRenderer(typeof(CustomScrollView), typeof(CustomScrollViewRenderer))]
namespace Test.iOS
{
public class CustomScrollViewRenderer : ScrollViewRenderer
{
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
Bounces = false;
}
}
}
在Android上,你需要实现一个自定义渲染器,它什么都不做。