2014-01-14 100 views
2

我想創建一個自定義UICollectionViewFlowLayout來更改標題和單元格在集合視圖上的顯示方式。 我分類UICollectionViewFlowLayout並重寫layoutAttributesForElementsInRect方法,其中我創建了我的自定義定位UICollectionViewLayoutAttributes對象。 問題是我沒有使用[super layoutAttributesForElementsInRect:(CGRect)rect]來生成UICollectionViewLayoutAttributes,因爲我的屏幕是空白的。 如果我使用[super layoutAttributesForElementsInRect:(CGRect)rect]方法獲取UICollectionViewLayoutAttributes,則會以默認方式顯示集合視圖。覆蓋UICollectionViewFlowLayout中的layoutAttributesForElementsInRect問題

UICollectionViewLayoutAttributes *cell = [UICollectionViewLayoutAttributes 
        layoutAttributesForCellWithIndexPath:[NSIndexPath indexPathForRow:item inSection:section]]; 
[cell setAlpha:self.cellOpacity]; 
[cell setHidden:NO]; 
[cell setSize:self.itemSize]; 
[cell setZIndex:self.cellZIndex]; 
[cell setFrame:CGRectMake ((self.itemSize.width * item) + self.cellPadding, 
        (section * self.itemSize.height) + self.cellPadding, 
        self.itemSize.width, 
        self.itemSize.height)]; 

[itemsLayoutAttributes addObject:cell]; 

一些錯誤,我手動創建UICollectionViewLayoutAttributes,而不是使用由超級方法創建的那些事實:

我使用此代碼創建我UICollectionViewLayoutAttributes? 你覺得我做錯了什麼?

預先感謝您!

+0

檢查一個類似的答案,就是操縱UICollectionViewFlowLayout:http://stackoverflow.com/questions/19712201/ios-uicollectionview-default -flow-fill-rows-from-right-to-left/19923873#19923873 如果有幫助,你可以+1 :) – Raz

+0

你也可以嘗試這一個: http://stackoverflow.com/questions/19474667/uicollectionview-cell-starting-margin 這些都是工作示例:) – Raz

+0

非常感謝你拉茲,但我發現這個問題,你可以閱讀下面,它是尷尬..我知道.. – Cata

回答

2

其實我好像做了錯事的唯一的事情是,我不夠細心地看到,不透明度設置爲0 :(

看來,我的佈局,現在看起來沒事和的確可以覆蓋layoutAttributesForElementsInRect方法來創建並且不僅僅編輯該流佈局的UICollectionViewLayoutAttributes