Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UICollectionViewFlowLayout后重新绘制单元格将使其布局无效_Ios_Uicollectionview_Uicollectionviewlayout - Fatal编程技术网

Ios UICollectionViewFlowLayout后重新绘制单元格将使其布局无效

Ios UICollectionViewFlowLayout后重新绘制单元格将使其布局无效,ios,uicollectionview,uicollectionviewlayout,Ios,Uicollectionview,Uicollectionviewlayout,当您使UICollectionViewFlowLayout上的布局无效时,它会为每个单元格创建一组新的布局属性;但是,它不会告诉单元格重新绘制,这会导致任何图层图形中的扭曲 我不想告诉我的集合重新加载其数据,因为这会删除流属性之间的任何良好转换:例如,我有一个网格布局转换为coverflow 我需要一种方法,让UICollectionViewController类告诉单元格在获得布局属性后调用它们的[setNeedsDisplay]方法。当单元格更改大小时,如何处理取决于它们(拉伸与重画)。这由

当您使
UICollectionViewFlowLayout
上的布局无效时,它会为每个单元格创建一组新的布局属性;但是,它不会告诉单元格重新绘制,这会导致任何图层图形中的扭曲

我不想告诉我的集合重新加载其数据,因为这会删除流属性之间的任何良好转换:例如,我有一个网格布局转换为coverflow


我需要一种方法,让
UICollectionViewController
类告诉单元格在获得布局属性后调用它们的
[setNeedsDisplay]
方法。

当单元格更改大小时,如何处理取决于它们(拉伸与重画)。这由UIView
contentMode
属性控制;尝试将其设置为
UIViewContentModeRedraw
以使调整大小会使视图内容无效,例如
setNeedsDisplay:


如果您直接将Calayer用作单元格的子层,则可以将其
需求displaynboundschange
设置为
YES
,以获得相同的效果

我只相信需要显示Boundschange是OSX。UIViewContentModeRedraw可以工作,但在布局转换期间会稍微减慢它的速度。但是,您是对的,视图需要处理自己的状态。我将使用contentMode属性。谢谢。@LeeProbert不客气。文件似乎说NeedsDisplaynBoundschange在iOS 2及更高版本的CALayer上。是的,你是对的。我似乎无法让它识别属性。奇怪:错误消息中的键是“on forward class CALayer”;这意味着它找不到CALayer的定义,因此它的任何方法都不可用。请尝试将#包含在此文件中(如果需要,请添加到项目中)。