【问题标题】:UICollectionview - removing right padding/margin?UICollectionview - 删除右填充/边距?
【发布时间】:2019-09-13 09:59:17
【问题描述】:

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

            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 个项目之间

【问题讨论】:

  • 尝试设置 CollectionView 的 ContentInset 并将 AutomaticallyAdjustsScrollViewInsets 设置为 false ,参考stackoverflow.com/a/23786370/8187800
  • 适用于第一页,滚动浏览其余页面显示奇怪的偏移量
  • 什么奇怪的偏移量?您能发布一个基本项目供我们测试吗?

标签: c# xamarin xamarin.ios


【解决方案1】:

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

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

【讨论】: