2014-01-30 72 views
1

我有一個問題設置我的自定義單元格視圖元素。表格單元格出現在我的tableView中,但屬性沒有設置,因此只顯示空白/空白單元格。無法設置自定義表格視圖單元格的屬性

tableView不是tableView控制器,而只是viewController中的一個tableView。

我有以下文件:

CustomCell.xib:
這裏我用IB通過使用與標籤和圖像對象庫的表格視圖單元格,構建定製的電池。我將標識符設置爲orderListCell。從這個畫面我按Ctrl +拖動創建網點customCell.h

CustomCell.h
在這裏,我看到我所有IBOutlets從上述文件屬性

CustomCell.m
這裏,我離開的是

OrderListViewController.h
這裏我輸入customCell.h和使用協議的UITableViewDelegate,UITableViewDataSource

OrderListViewController.m
在這裏,我把我的tableView委託和數據源的tableView自我。我還爲Storyboard的我的tableView創建了一個IBOutlet。

我使用下面的代碼,試圖顯示我的細胞:

- (UITableViewCell *)tableView:(UITableView *)tableView 
     cellForRowAtIndexPath:(NSIndexPath  *)indexPath 
{ 

static NSString *cellIdentifier = @"orderListCell"; 

CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

if (!cell) { 
    cell = [[CustomCell alloc] init]; 
} 

cell.myLabel.text = @"aaaaaaaa"; //[[self.orders objectAtIndex:indexPath.row] objectForKey: @"tableNo"]; 



return cell; 
} 

我已經簡化我的代碼位,以充分表明,即使標籤設置爲一個簡單的字符串(@「AAAAAAAA」)不工作。當我查看調試器中的對象時,單元格確實具有IBOutlets的所有屬性,單元格出現在我的tableView中,只是label.text = xxx似乎不起作用。

我已經看過以下職位,但無論是不正確的理解,或不爲我工作:

ios 7 customizing UITableViewCell's content view
Can't set properties in Custom UITableViewCell
Set label for a custom cell

任何幫助或建議將不勝感激

回答

2

cell = [[CustomCell alloc] init];不會從XIB創建您的單元格,因此不會創建任何XIB內容。

使用registerNib:forCellReuseIdentifier:將XIB註冊到表視圖中,以便爲您創建您的單元實例(您不需要自己在cellForRowAtIndexPath中創建實例)。

如果您不想這樣做,您可以使用nibWithNibName:bundle:instantiateWithOwner:options:明確加載您的NIB,然後從返回的視圖列表(它應該只包含1個項目)中獲取單元實例。

+0

哇這個問題真的讓我感到沮喪。你的迴應讓我走上了正確的軌道,經過一些研究和試驗和錯誤之後,我終於找到了答案。在使用registerNib之前:forCellReuseIdentifier:首先需要使用[UINib nibWithNibName:@「MyCustomCellName」bundle:nil]創建nib,然後在第一個提到的方法中使用它。非常感謝! – Chris

相關問題