【问题标题】:UICollectionView change layout - change cellsUICollectionView 更改布局 - 更改单元格
【发布时间】:2012-10-13 21:08:42
【问题描述】:

我有一个使用UICollectionViewDelegateFlowLayout 的 UICollectionView。我添加了一种在点击单元格setCollectionViewLayout 时更改布局的方法。

所有单元格都有一个带有文本的文本标签,我想在更改布局时清空每个单元格上的所有文本标签。实现这一目标的最佳方法是什么?

谢谢,

【问题讨论】:

    标签: ios uicollectionview uicollectionviewcell


    【解决方案1】:

    我想最简单的方法是在更改布局的同时在集合视图上调用 reloadData(并在 cellForItem 数据源方法中有一个条件,用于清空每个布局上的文本标签改变)。

    或者,您可以让您的 UICollectionViewCells 跟踪他们当前显示的布局,并相应地调整他们的视图。

    【讨论】:

    • 谢谢伙计。我使用 [[[self collectionView] collectionViewLayout] isKindOfClass:[CircleLayout class]] 效果很好。不知道这是否是最好的方法。现在唯一的问题是布局之间的动画并没有真正起作用,因为我正在调用 reloadData。
    • 我建议的第二种方法可能会更好,并保留布局之间的动画 - 唯一的缺点是实现起来会有点困难。您可能想尝试在布局更改时触发NSNotification,并让您的单元格监听它。这样您就不必重新加载它们,并且动画应该保留。
    • 是的,这可能是要走的路。谢谢。在旁注中,我正在尝试使我的收藏视图类似于 iPad 上的照片应用程序。你认为苹果使用了一个collectionview,只改变了布局吗?也许我应该为此提出第二个问题。
    猜你喜欢
    • 2013-10-26
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多