2014-01-30 47 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

相关问题