【问题标题】:How do I disable bouncing on ScrollView in Xamarin Forms for iOS?如何在 Xamarin Forms for iOS 中禁用 ScrollView 上的弹跳?
【发布时间】:2017-01-04 03:51:30
【问题描述】:

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

【问题讨论】:

    标签: xamarin.forms


    【解决方案1】:

    是的,可以禁用弹跳效果。但是您需要创建一个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 上,您还需要实现一个自定义渲染器,它什么都不做。

    【讨论】:

    • @Demitrian 不需要不做任何事情的自定义渲染器。默认就足够了。
    猜你喜欢
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 2021-01-15
    • 2016-12-03
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多