如何在 ios 上的 Xamarin.Forms CollectionView 中关闭弹跳效果

How to turn off bouncing effect in Xamarin.Forms CollectionView on ios

我正在尝试使用自定义渲染器在我的 Xamarin.Forms 项目中关闭 CollectionView 对 iOS 的弹跳效果。我能够使用这个在 ListView 中实现这一点:

if (e.NewElement != null)
{
   var listView = Control as UITableView;
   Control.Bounces = false;
}

Bounces 属性 在 CollectionView 控件中不可用。还有其他方法吗?

像下面这样创建一个自定义渲染器。 CollectionView 包装了原生 UICollectionView,它仍然是 UIScrollView 并且具有 Bounces 属性.

只是换了个地方!

using System;
using CollectionViewBounceSample.iOS;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[assembly: ExportRenderer(typeof(CollectionView), typeof(NoBounceRenderer))]
namespace CollectionViewBounceSample.iOS
{
    public class NoBounceRenderer : CollectionViewRenderer
    {
        public NoBounceRenderer()
        {
            
        }

        protected override void OnElementChanged(ElementChangedEventArgs<GroupableItemsView> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null)
                Controller.CollectionView.Bounces = false;
        }
    }
}

这应该可以解决问题。完整示例在这里:https://github.com/jfversluis/CollectionViewBounceSample