kro*_*osh 2 ios uicollectionview uicollectionviewcell uicollectionviewlayout
我有一个带有imageView和collectionView的视图.ImageView位于屏幕左上角,大小(150,250).CollectionView是全屏.collectView的单元格里面有标签.
当单元格靠近imageView时,它的宽度应该更小.当单元格低于imageView时,它应该是全宽的.这也应该在滚动时工作,因此单元格的大小应该动态变化.所以,我需要制作一个自定义布局.我想,"layoutAttributesForElementsInRect:"是一个答案.但是如何使细胞属性在某个矩形中发生变化?还是我正朝着错误的方向前进?先感谢您.
我想你正在寻找invalidateLayout
你可以在你的collectionViewLayout
财产上调用的方法UICollectionView
.此方法会重新生成您的布局,在您的情况下也称为调用-collectionView: layout: sizeForItemAtIndexPath:
,这是反映所需项目大小的正确位置.Jirune指出了如何计算它们的正确方向.
可以在此处找到invalidateLayout用法的示例.另请参阅该UICollectionViewLayout
方法的文档:
使当前布局无效并触发布局更新.
讨论:
您可以随时调用此方法来更新布局信息.此方法使集合视图本身的布局无效并立即返回.因此,您可以从同一代码块多次调用此方法,而不会触发多个布局更新.实际布局更新发生在下一个视图布局更新周期中.
归档时间: |
|
查看次数: |
5483 次 |
最近记录: |