簡體   English   中英

iOS子類UICollectionViewCell自定義init方法

[英]iOS Subclass UICollectionViewCell custom init method

我正在實現一個自定義的UICollectionViewCell,我想知道如何向它發送模型數據,以便數據可用於初始化單元的子視圖。

我通過做注冊我的MyCollectionViewCell

[self.collectionView registerClass:[MyCollectionViewCell class] forCellWithReuseIdentifier:@"MyCell"];

在以下方法中,我做...

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {

MyCollectionViewCell* cell = [self.collectionView dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath];

我面臨的問題是,當一個單元不在重用隊列中時,它通過調用initWithFrame方法(文檔確認應該發生)來初始化一個新單元。 但是,我的MyCollectionViewCell類中有一個自定義的init方法,它是......

-(id) initWithFrame:(CGRect)frame withData: (NSDictionary*) data;

我希望調用自定義初始化方法。 我該怎么辦? 我沒有使用任何筆尖,我正在以編程方式執行所有操作。

如果沒有辦法,我必須使用initWithFrame方法,我還能如何將模型數據傳遞給MyCollectionViewCell,以便我可以用該數據初始化子視圖?

謝謝!

你出列后,[cell initData:data]怎么樣? 無論如何,您可能需要重新啟動出列單元格的數據。

另一種選擇是為layoutAttributes對象提供一個指向數據的指針,並讓單元格在其applyLayoutAttributes:方法中從中抓取它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM