我对此困惑了两个多小时,所以也许有人能给我指个方向……
我有一个导航栏,下面有一个tableViewController。一旦第一行被选中,我将推送一个新的tableViewController,它使用新的闪亮的UINib对象加载自定义表单元格。
调用cellForRowAtIndexPath并分配一个新行,正确设置它的两个UILabel的值,然后返回单元格。
但是-表视图是完全空的。如果我用常规表单元格替换自定义单元格,我会看到该单元格。见鬼,这是怎么回事?
下面是一些代码:
在viewdidLoad中:
self.cellNib = [UINib nibWithNibName:@"DetailCell" bundle:nil];在cellForRowAtIndexPath中:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"detailCell";
DetailCell* cell = (DetailCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
[self.cellNib instantiateWithOwner:self options:nil];
cell = tmpCell;
self.tmpCell = nil;
}
cell.fieldName.text = @"field title";
cell.fieldValue.text = @"field value";
return cell;
}和自定义单元格(也有一个与之关联的xib文件):
@interface DetailCell : UITableViewCell {
IBOutlet UILabel* fieldName;
IBOutlet UILabel* fieldValue;
}
@property (nonatomic, retain) IBOutlet UILabel* fieldName;
@property (nonatomic, retain) IBOutlet UILabel* fieldValue;
@end谢谢你的帮助。
发布于 2011-05-13 20:49:29
对于任何关注此主题的人,我发现问题出在缺少单元标识符。您在rowAtIndex定义的值需要使用IB为xib文件输入。有一个标识符字段。
https://stackoverflow.com/questions/5832897
复制相似问题