我已从UITableVIewCell
文件创建了XIB
。但是,它并没有显示在应用程序上。
这是我的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
[self.tablev registerClass:[MCell class] forCellReuseIdentifier:@"c"];
MCell *cell = (MCell*)[tableView dequeueReusableCellWithIdentifier:@"c"];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MCell" owner:self options:nil];
cell = (MCell *)[nib objectAtIndex:0];
}
cell.la.text=@"This is from custom cell";
//cell.textLabel.text=@"from label";
return cell;
文本This is from custom cell
没有显示。但是,cell.textLabel.text=@"from label";
会被完美地执行并显示文本。我认为我的UITableViewCell
尚未在代码中初始化。有人可以看一下吗?
答案 0 :(得分:0)
你必须把这个方法
[self.tablev registerNib:[UINib nibWithNibName:@"MCell"
bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"c"];
如果您在viewDidLoad:
XIB文件中使用tableView,或者初始化您的其他属性和变量的任何初始化方法,请在awakeFromNib:
或UIView
中。
并在您的tableView:cellForRowAtIndexPath:
方法中,执行以下操作
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
MCell *cell = (MCell*)[tableView dequeueReusableCellWithIdentifier:@"c"];
cell.la.text=@"This is from custom cell";
//cell.textLabel.text=@"from label";
return cell;
}
答案 1 :(得分:0)
您可能需要注册您的nib文件:
[self.tableView registerNib:[UINib nibWithNibName:@"MCell"
bundle:[NSBundle mainBundle]]
forCellReuseIdentifier:@"c"];