【问题标题】:UICollectionView header widthUICollectionView 标题宽度
【发布时间】:2014-04-24 18:31:24
【问题描述】:

在我的 UICollectionViewFlowLayout 子类中,我有这个:

self.headerReferenceSize = CGSizeMake(280, 44);

但是,标题以 320 的宽度显示,这是集合视图的宽度。根据文档,这是正确的:

在布局期间,只有与适当的大小相对应的大小 使用滚动方向。例如,对于垂直滚动 方向,布局对象使用您返回的高度值 方法。 (在这种情况下,标题的宽度将设置为 集合视图的宽度。)

但是,我需要宽度为 280,而不是拉伸到集合视图的整个宽度。我怎样才能覆盖它?

【问题讨论】:

  • 将子视图放入标题中,并将其宽度定义为 280 像素。并且标题背景定义为透明。

标签: ios uicollectionview uicollectionviewlayout uicollectionreusableview


【解决方案1】:

您可以在标题上添加另一个自定义视图并根据需要调整其大小。当然,您在标题上的所有组件都将通过您创建的自定义视图...

【讨论】:

    【解决方案2】:

    您不需要在标题中添加子视图。

    您希望在 320 的集合视图中的标题宽度为 280,因此在左侧和右侧应用 20 的 Content Inset,如下所示:

    斯威夫特

    YourCollectionView.ContentInset = UIEdgeInsets(top: 0, left: 20, bottom: 20, right: 0)
    

    Xamarin

    YourCollectionView.ContentInset = new UIEdgeInsets(0, 20, 0, 20);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-26
      • 2020-01-03
      • 1970-01-01
      • 2021-09-23
      • 1970-01-01
      相关资源
      最近更新 更多