layoutAttributesForItemAtIndexPath - 何时调用?

时间:2012-11-02 19:58:55

标签: ios6 uicollectionview

我目前正在玩新的UICollectionView的一些演示项目。 大多数演示都会覆盖子类中的layoutAttributesForItemAtIndexPath。但是在这个例子之一中永远不会调用该方法。

从Apple文档我知道我必须覆盖layoutAttributesForItemAtIndexPath

我不知道这种方法被调用的方式。

这种方法适用于特殊情况吗?

1 个答案:

答案 0 :(得分:5)

也许你可以在Apple doc中找到,Subclasses必须覆盖layoutAttributesForElementsInRect和layoutAttributesForItemAtIndexPath 读这个:

    layoutAttributesForElementsInRect:

    Returns the layout attributes for all of the cells and views in the specified rectangle.
    - (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect
    Parameters

    rect

        The rectangle (specified in the collection view’s coordinate system) containing the target views.

    Return Value

    An array of UICollectionViewLayoutAttributes objects representing the layout information for the cells and views. The default implementation returns nil.
    Discussion

    Subclasses must override this method and use it to return layout information for all items whose view intersects the specified rectangle. Your implementation should return attributes for all visual elements, including cells, supplementary views, and decoration views.

    When creating the layout attributes, always create an attributes object that represents the correct element type (cell, supplementary, or decoration). The collection view differentiates between attributes for each type and uses that information to make decisions about which views to create and how to manage them.
    Availability

        Available in iOS 6.0 and later.

    Declared In
    UICollectionViewLayout.h