gpt4 book ai didi

ios - UICollectionViewCell 宽度的动态变化

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:29:21 24 4
gpt4 key购买 nike

我有一个包含 imageView 和 collectionView 的 View 。 ImageView 位于屏幕的左上角,大小为 (150,250)。CollectionView 是全屏的。 collectionView 的 Cell 里面有标签。

当单元格靠近 imageView 时,它的宽度应该更小。当单元格低于 imageView 时,它应该是全宽的。这在滚动时也应该有效,因此单元格的大小应该动态变化。所以,我需要做一个自定义布局。我想,“layoutAttributesForElementsInRect:”是一个答案。但是如何让某个矩形的单元格属性发生变化呢?还是我看错方向了?提前谢谢你。

example

最佳答案

我认为您正在寻找可以在 UICollectionViewcollectionViewLayout 属性上调用的 invalidateLayout 方法。此方法重新生成您的布局,在您的情况下也意味着调用 -collectionView: layout: sizeForItemAtIndexPath:,这是反射(reflect)您所需项目大小的正确位置。 Jirune 指出了如何计算它们的正确方向。

invalidateLayout can be found here 用法示例.另请参阅有关该方法的 UICollectionViewLayout 文档:

Invalidates the current layout and triggers a layout update.

Discussion:

You can call this method at any time to update the layout information. This method invalidates the layout of the collection view itself and returns right away. Thus, you can call this method multiple times from the same block of code without triggering multiple layout updates. The actual layout update occurs during the next view layout update cycle.

关于ios - UICollectionViewCell 宽度的动态变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19654089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com