如何在Xamarin Forms for iOS中禁用ScrollView上的弹跳?

时间:2017-01-03 19:23:32

标签: xamarin.forms

我在Xamarin Forms和iOS上使用ScrollView,滚动视图会在您触及顶部或底部时反弹(通常太远)。我的理解是这是默认的iOS行为吗?有没有办法可以禁用它,这样滚动就没有反弹?

1 个答案:

答案 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上,你需要实现一个自定义渲染器,它什么都不做。