首页 > 解决方案 > UICollectionview - 删除右填充/边距?

问题描述

我正在尝试对项目进行幻灯片显示,但我遇到了一个问题,即在第一个单元格(左侧)和最后一个单元格(右侧)中添加了一个神秘的填充,如下所示并由黑框演示

在此处输入图像描述

            DataSource datasource = new DataSource(Vcollection, PageControl, this);
            Vcollection.Source = datasource;

            doRefreshList = true;

            Vcollection.CollectionViewLayout = new UICollectionViewFlowLayout()
            {
                ItemSize = Vcollection.Frame.Size,
                HeaderReferenceSize = new CGSize(0, 0),
                SectionInset = UIEdgeInsets.Zero,
                ScrollDirection = UICollectionViewScrollDirection.Horizontal,

                MinimumInteritemSpacing = 0f, // minimum spacing between cells
                MinimumLineSpacing = 0f,
                SectionInsetReference = UICollectionViewFlowLayoutSectionInsetReference.ContentInset,

            };
            Vcollection.ContentInset = UIEdgeInsets.Zero;
            Vcollection.ScrollIndicatorInsets = UIEdgeInsets.Zero;
            Vcollection.ContentOffset = new CGPoint(0f, 0f);
            this.AutomaticallyAdjustsScrollViewInsets = false;

这是我试图纠正问题的代码,但无济于事。如何删除此填充?

------------------编辑 --------- 将最后 4 行替换为

VehicleCollectionView.ContentInset = new UIEdgeInsets(0, -20, 0, 0);
            VehicleCollectionView.ContentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentBehavior.Never;

工作,但分页仍然关闭。尝试滚动 collectionview 显示巨大的偏移量,如下所示,分页卡在 2 个项目之间

在此处输入图像描述

标签: c#xamarinxamarin.ios

解决方案


在您的ViewDidLoad()方法中,您可以尝试两次编写此代码

collectionView.ContentInset = new UIEdgeInsets (10, 10, 10, 10);
//collectionView.SectionInset = new UIEdgeInsets (20, 20, 20, 20)

推荐阅读