Ios UICollectionViewFlowLayout后重新绘制单元格将使其布局无效
当您使Ios UICollectionViewFlowLayout后重新绘制单元格将使其布局无效,ios,uicollectionview,uicollectionviewlayout,Ios,Uicollectionview,Uicollectionviewlayout,当您使UICollectionViewFlowLayout上的布局无效时,它会为每个单元格创建一组新的布局属性;但是,它不会告诉单元格重新绘制,这会导致任何图层图形中的扭曲 我不想告诉我的集合重新加载其数据,因为这会删除流属性之间的任何良好转换:例如,我有一个网格布局转换为coverflow 我需要一种方法,让UICollectionViewController类告诉单元格在获得布局属性后调用它们的[setNeedsDisplay]方法。当单元格更改大小时,如何处理取决于它们(拉伸与重画)。这由
UICollectionViewFlowLayout
上的布局无效时,它会为每个单元格创建一组新的布局属性;但是,它不会告诉单元格重新绘制,这会导致任何图层图形中的扭曲
我不想告诉我的集合重新加载其数据,因为这会删除流属性之间的任何良好转换:例如,我有一个网格布局转换为coverflow
我需要一种方法,让
UICollectionViewController
类告诉单元格在获得布局属性后调用它们的[setNeedsDisplay]
方法。当单元格更改大小时,如何处理取决于它们(拉伸与重画)。这由UIViewcontentMode
属性控制;尝试将其设置为UIViewContentModeRedraw
以使调整大小会使视图内容无效,例如setNeedsDisplay:
会
如果您直接将Calayer用作单元格的子层,则可以将其
需求displaynboundschange
设置为YES
,以获得相同的效果 我只相信需要显示Boundschange是OSX。UIViewContentModeRedraw可以工作,但在布局转换期间会稍微减慢它的速度。但是,您是对的,视图需要处理自己的状态。我将使用contentMode属性。谢谢。@LeeProbert不客气。文件似乎说NeedsDisplaynBoundschange在iOS 2及更高版本的CALayer上。是的,你是对的。我似乎无法让它识别属性。奇怪:错误消息中的键是“on forward class CALayer”;这意味着它找不到CALayer的定义,因此它的任何方法都不可用。请尝试将#包含在此文件中(如果需要,请添加到项目中)。