0

Если я изменил любое свойство атрибута в layoutAttributesForItemAtIndexPath ячейка CollectionView не модифицируютсяПочему атрибуты свойств в layoutAttributesForItemAtIndexPath не применяются?

-(UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath 

{ UICollectionViewLayoutAttributes * Атрибуты = [супер layoutAttributesForItemAtIndexPath: indexPath];

//this properties does not get applied 
attributes.zIndex = 1; 
attributes.alpha = 0.5; 

return attributes; 

}

, но при перемещении модификации свойств к layoutAttributesForElementsInRect он получает применяется:

-(NSArray *)layoutAttributesForElementsInRect:(CGRect)rect 

{ NSArray * attributesArray = [супер layoutAttributesForElementsInRect: Rect];

for (UICollectionViewLayoutAttributes *attributes in attributesArray) 
{ 
    //this properties is getting applied here 
    attributes.zIndex = 1; 
    attributes.alpha = 0.5; 

} 
return attributesArray; 

}

I'am применения UIPanGestureRecognizer на UICollectionView, и я хочу, чтобы применить эти свойства на клетки I'am в настоящее время перетягивания.

I'am яблоко вызвать layoutAttributesForItemAtIndexPath метод в то время как I'am протаскивание вызова этого метода

[customLayoutInstance indexOfItemSelected:indexPath.row]; 

layoutAttributesForItemAtIndexPath называется так долго, как перетаскивание I'am но свойства не будут применены.

ответ

0

вы должны переопределить еще один метод:

- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect 
{ 

{ 
+0

I'am перекрывая его в коде выше ,, но только вызывался раз ,, и я хочу способ назвать тех пор, как я «я перетаскивание ячейки –

+0

layoutAttributesForItemAtIndexPath используется для (например), перегрузки одной специальной ячейки – mityaika07

+0

этот метод (layoutAttributesForElementsInRect) называется любое время на прокрутку события – mityaika07

Смежные вопросы