向动态视图单元格添加另一个字幕

Posted

技术标签:

【中文标题】向动态视图单元格添加另一个字幕【英文标题】:Add another subtitle to dynamic view cell 【发布时间】:2013-09-06 02:42:21 【问题描述】:

快速提问。我正在尝试在原型单元格中添加另一个单元格。我添加了行“cell.textLabel.text = person.firstname;”但不要在单元格上得到任何东西。有人可以帮忙吗。

谢谢

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    
    static NSString *CellIdentifier = @"Persons Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    

    // Configure the cell...


    Person *person = [self.fetchedResultsController objectAtIndexPath:indexPath];
    NSString *fullname = [NSString stringWithFormat:@"%@, %@", person.surname, person.firstname];
    cell.textLabel.text = fullname;
    cell.detailTextLabel.text = person.inEvent.name;
    cell.textLabel.text = person.firstname;
    return cell;

【问题讨论】:

【参考方案1】:

“在原型单元格中添加另一个单元格”是什么意思。 ?我认为根据您的代码,您想要的是将另一个 UILabel 添加到您的代码中。从默认的UITableViewCell 开始,您只有两个textLabeldetailTextLabel。如果你想要更多,你必须自己创造。

请注意,您将同一标签设置了两次。

cell.textLabel.text = fullname; //setting first time
cell.detailTextLabel.text = person.inEvent.name;
cell.textLabel.text = person.firstname;  //setting second time. This will set a new text to 'textLabel', losing its previous content (fullname)

您可以分配一个新的并添加为cellForRowAtIndexPath: 内单元格内容视图的子视图。但我真的建议创建UITableViewCell 的子类,使用Interface Builder 来根据需要定位标签,为它们创建IBOutlets,并将其文本设置在cellForRowAtIndexPath: 中。

【讨论】:

以上是关于向动态视图单元格添加另一个字幕的主要内容,如果未能解决你的问题,请参考以下文章

向单元格动态添加视图会在表格中产生问题

应用于字幕表视图单元格的 UITableViewAutomaticDimension 无法正常工作

如何在另一个单元格的视图中加载一个单元格。?

如何在另一个单元格的视图中加载一个单元格。

将文本字段动态添加到表格视图单元格并水平滚动

实现 UITableView (Slave) 的动态高度,它作为子视图添加到另一个具有动态高度的 UITableView (Master) 的自定义单元格中