【问题标题】:Expand a UICollectionView in the middle of rows在行中间展开一个 UICollectionView
【发布时间】:2014-06-19 04:02:44
【问题描述】:

我有一个UICollectionView,如下所示:

是否可以在单击单元格时在行中间添加可滚动内容,如下所示:

如果是,那怎么办?

【问题讨论】:

  • 有人因为拼写错误而对我的问题投了反对票!!!严重地?我认为这就是编辑的目的。 . .

标签: ios ios6 uicollectionview


【解决方案1】:

您可以根据自己的需要使用此示例。

Expandable UICollectionView

【讨论】:

  • 感谢您的链接。看起来像我需要的。会尽快与您联系。
【解决方案2】:

您可以做的是创建 2 个自定义 UICollectionView 布局。一个没有间距,另一个有间距。然后使用方法对布局进行动画更改:

setCollectionViewLayout:animated:completion:

【讨论】:

  • 这不是一种解决方法,而是一种体面的方法。修改布局并为更改设置动画。添加额外的、未使用的单元格将是一种解决方法。
【解决方案3】:

我将不得不假设您为此使用 UICollectionViewFlowLayout

您只需在所需的 indexPath 处添加一个新的 Cell 并在 sizeForItemAtIndexPath 数据源方法中返回所需的大小(全宽、所需高度)。流程布局将为您处理其余部分。

在该单元格内,您可以使用 UIScrollView 来获取可滚动内容。

更新

您的cellForItemAtIndexPath:(NSIndexPath *)indexPath 看起来像这样

if(indexPath.item == myItemIndex && indexPath.section == myItemSection)
{
    return CGSizeMake(768,200);
}
else
{
    return CGSizeMake(128,128);
}

以上数值仅为示例。修改它们以满足您的需要。

【讨论】:

  • 嗯。我会尝试。但是sizeForItemAtIndexPath 不会改变所有单元格的大小吗?
  • 您可以检查 indexPath 并仅为您的单元格发送较大的尺寸。对于所有其他单元格返回正常大小。
猜你喜欢
  • 2012-04-03
  • 1970-01-01
  • 2017-11-09
  • 2013-04-05
  • 2017-06-14
  • 2019-06-11
  • 1970-01-01
  • 2017-08-13
  • 1970-01-01
相关资源
最近更新 更多