2012-03-29 34 views
1

我沒有問題之前做過自定義UITableViewCells ..但我無法弄清楚我的當前項目是怎麼回事。爲什麼我的自定義UITableViewCell不顯示?

這裏是我做了什麼......

  1. 創建CustomCell.h(子類的UITableViewCell)
  2. 創建的UITableViewCell一個空的廈門國際銀行和阻力。將背景設置爲黑色。
  3. 更改類的UITableViewCell的界面生成器 「CustomCell」
  4. 進口CustomCell.h我DetailViewController
  5. 修改tableView:cellForRowAtIndexPath:
static NSString *CellIdentifier = @"Cell"; 

CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

if (cell == nil) { 
    NSLog(@"DO I GET HERE?"); 
    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil]; 
    cell = [topLevelObjects objectAtIndex:0]; 
} 

我希望我的tableview細胞顯示爲黑色?但他們仍然表現爲白色......任何想法?謝謝!

更新:好吧,事實證明,它是加載自定義單元格...我添加了一些白色文本的UILabel。我看不到它,但是當我突出顯示單元格時,我可以看到文本在那裏。所以現在的問題是,爲什麼細胞忽略了我爲細胞設置的黑色背景?

+0

您是否還必須將IB中的所有者更改爲您的視圖控制器? – onnoweb 2012-03-29 13:52:07

+0

忽略我的回答,我的電話分手了。 – borrrden 2012-03-29 13:55:07

+0

首先猜測是你正在從xib加載'UIView',你應該把它設置爲'cell.contentView'。嘗試設置:'cell.contentView =(UIView *)[topLevelObjects objectAtIndex:0];'而不是'cell = [topLevelObjects objectAtIndex:0];' – 2012-03-29 13:56:08

回答

1

似乎忽視了背景色我給自己定的,所以我只需要添加一個UIView將其與背景顏色和這似乎工作..

+1

您可以在'willDisplayCell背景顏色...',就是這樣做的推薦的地方。 – jrturton 2012-03-30 14:17:45

1

編輯:至於它爲什麼不是黑色 - 我期望有一些模糊你的黑色 - 最有可能的候選人是標籤背景是白色的,不清楚。

除了點3

屬性檢查器(4片),需要有重用標識設置爲你要重用標識符(你在你的問題使用@「細胞」)。我會嘗試和使用一些更具體的東西 - 畢竟在一些應用程序中,您可能有許多類型的自定義單元格。

我覺得你還需要將topLevelObjects轉換爲(CustomCell *),從而

if (cell == nil) { 
    NSLog(@"DO I GET HERE?"); 
    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil]; 
    cell = (CustomCell*)[topLevelObjects objectAtIndex:0]; 
} 
+0

的嘗試設置重用標識符作爲你的建議和鑄造..但仍然得到白細胞:( – sayguh 2012-03-29 14:07:08

+0

在廈門國際銀行的detailviewcontroller - 是小區第一/唯一的對象,我不能想到什麼?其他可能是錯誤的 - 你的代碼是相同的形式,我一直在使用的廈門國際銀行的文件的所有者右鍵單擊,並檢查它的觀點是沒有設置任何東西 - 它不應該是等 – Damo 2012-03-29 14:13:39

+0

是的,電池是第一個也是唯一,我完全糊塗了爲好。文件的所有者沒有設置任何東西。它使我使用一個UIViewController代替一個UITableViewController有什麼區別?此外,這是一個splitviewcontroller的detailViewcontroller ...可能與它有什麼關係嗎?我可能會在這裏抓秸稈 – sayguh 2012-03-29 14:16:01

0

你必須與實現代碼如下

這需要發生的委託調用之前註冊您的自定義單元格:

[self.tableView registerClass: [CustomCell class] forCellReuseIdentifier:@"CellIdentifier"]; 
相關問題