我有一个自定义UITableViewCell
子类,并且我读到这应该是为 iOS 5 加载自定义单元格的正确方法:
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomCell *cell = [tv dequeueReusableCellWithIdentifier:@"customCell"];
if (cell == nil) {
cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"customCell"];
// Configure cell
cell.nameLabel.text = self.customClass.name;
}
return cell;
}
但是当我运行应用程序时,标签文本没有显示。但是,我也尝试过这种方式:
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:@"customCell"];
if (cell == nil) {
NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil];
for (UIView *view in views) {
if([view isKindOfClass:[UITableViewCell class]])
{
cell = (CustomCell *)view;
}
}
// Configure cell
((CustomCell *)cell).nameLabel.text = self.customClass.name;
}
return cell;
}
这样标签就显示出来了,但是在方法reuseIdentifier
中设置了any。loadNibName:
加载自定义单元格的最佳方式应该是什么?我需要支持 iOS 5+。第一种方法是否行不通,因为我要配置单元格的标签和样式initWithStyle:
方法中而不是在表格视图的方法中配置单元格的标签和样式?
谢谢!