2012-12-03 79 views
1

我有一個UILabel帶有一個UICollectionViewCell對象。UILabel沒有顯示在UICollectionView中

@interface TideDataTableCell : UICollectionViewCell 

@property (strong, nonatomic) NSString* dayString; 
@property (weak, nonatomic) IBOutlet UILabel *dayLabel; 

@end 

該標籤在用於小區對象米文件合成。當我嘗試分配文本屬性時,標籤對象始終爲空。即使創建一個新標籤並將其分配給單元格dayLabel也不起作用!下面的代碼只是直接分配給標籤,因爲沒有任何東西可以工作......

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Main Tide Data Table Cell"; 

    TideDataTableCell* tideDayDataCell = [self.tideDataTable dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath]; 
    tidalDate* tideDate = self.tidalDates[indexPath.row]; 
    self.tideDataTable.backgroundColor = [UIColor lightGrayColor]; 
    tideDayDataCell.backgroundColor = [UIColor whiteColor]; 
    tideDayDataCell.dayLabel.textColor = [UIColor blackColor]; 
    tideDayDataCell.dayLabel.text = tideDate.dateString; 
    return tideDayDataCell; 
} 

爲什麼這不起作用?我已籤,在UICollectionViewCell標籤連接到dayLabel細胞中的.h文件(以上)

+0

你有沒有試過讓dayLabel強大或保留?可能是它在重用細胞之前獲得釋放,因爲它是弱資產。 –

+0

你好...我剛剛嘗試過讓它變得強壯並保留 - 但它仍然不起作用... – HillInHarwich

+0

好的...我已經取得了一些進展...我必須在之前做錯了 - 我已經創建一個新標籤並將其分配給dayLabel屬性。標籤 - 儘管它不再爲空仍然不顯示在uicollectionview – HillInHarwich

回答

0

您需要在TideDataTableCell的viewDidLoad中這樣註冊您的電池:

UINib *cellNibName = [UINib nibWithNibName:@"cellNibName" bundle:nil]; 
[self.collectionView registerNib:cellNibName forCellWithReuseIdentifier:@"cellIdentifier"]; 

然後,在cellForItemAtIndexPath你必須讓細胞並使用它:

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

    static NSString *CellIdentifier = @"cellIdentifier"; 

    TideDataTableCell* tideDayDataCell = [self.tideDataTable dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath]; 

    tidalDate* tideDate = self.tidalDates[indexPath.row]; 
    self.tideDataTable.backgroundColor = [UIColor lightGrayColor]; 
    tideDayDataCell.backgroundColor = [UIColor whiteColor]; 
    tideDayDataCell.dayLabel.textColor = [UIColor blackColor]; 
    tideDayDataCell.dayLabel.text = tideDate.dateString; 
    return tideDayDataCell; 
} 

不要忘記設置重用標識符在廈門國際銀行文件。