单个 UITableview 单元格中的多种字体大小 (Swift)

Posted

技术标签:

【中文标题】单个 UITableview 单元格中的多种字体大小 (Swift)【英文标题】:Multiple font sizes in a single UITableview cell (Swift) 【发布时间】:2016-03-30 15:18:56 【问题描述】:

我有一个包含多行文本的 UITableviewCell。我试图弄清楚如何使每行具有不同的字体大小。

这是我用来填充表格单元格的代码:

  func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
        let cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("eventCell")!
        cell.textLabel!.textAlignment = NSTextAlignment.Center
        cell.textLabel!.numberOfLines = 0
        cell.textLabel!.lineBreakMode = NSLineBreakMode.ByWordWrapping

        cell.textLabel!.text = self.eventsToday[indexPath.row].eventTitle + "\n" + self.eventsToday[indexPath.row].eventPlaceName

        return cell
    

有没有办法在“\n”换行符后减小字体大小,使标记为“eventPlaceName”的字符串显示为小于标记为“eventTitle”的字符串?

【问题讨论】:

检查这个答案 - ***.com/questions/1417346/… 您可以使用属性字符串作为属性字符串示例,您可以在下面看到enter link description here 【参考方案1】:

使用textLabel 对象的attributedText 属性。

使用attributedText,您可以设置文本格式。

欲了解更多信息,请参阅NSAttributedString

【讨论】:

【参考方案2】:

有没有办法在“\n”换行符后减小字体大小所以 标记为“eventPlaceName”的字符串将显示为小于 标记为“eventTitle?”的那个?

这听起来就像您的表格视图单元格需要两个单独的标签:

    一个用于“事件标题” 一个用于“活动地点”

我的意思是,您可以使用属性字符串,但显然这是两条独立的信息,并且您在此处有一个重复模式。在我看来,两个标签听起来像是最佳实践/不那么令人头疼。


如何添加额外标签:

    子类UITableViewCell(我们在下面的代码中调用自定义子类CustomTableCell)。 在情节提要中将原型单元的类设置为自定义子类。 还要设置重用标识符(这里我使用了“YourCellIdentifier”)。

    忘记原始标签(它不会显示在情节提要中,因此您无法相对于它定位第二个标签);而是向单元格添加 TWO 新标签,并使用自定义单元格子类设置插座。将属性命名(例如)eventTitleLabeleventPlaceLabel。设置您可能需要的任何布局约束,并配置字体大小、颜色等。

    在运行时,像这样设置标签的文本:

    let cell = tableView.dequeueReusableCellWithIdentifier("YourCellIdentifier", forIndexPath: indexPath) as! CustomTableCell
    // (forced cast shouldn't fail f identifier is registered properly)
    
    cell.eventTitleLabel.text = "Event Title XXXX"
    cell.eventPlaceLabel.text = "Event Place YYYY"
    
    return cell
    

【讨论】:

这看起来可能是最方便的解决方案。不过有一个问题——如何在单元格中创建一个新标签?我应该在主情节提要中制作它,然后将其连接到视图控制器还是有一行代码可以解决这个问题? 查看我编辑的答案,了解如何实现这一目标的详细信息。

以上是关于单个 UITableview 单元格中的多种字体大小 (Swift)的主要内容,如果未能解决你的问题,请参考以下文章

如何为超过 255 的单元格中的单个字符格式化字体

Java 在Excel单元格中应用一种/多种字体样式

UITableView 单元格中的可重用单元格存在问题

使用自动布局在屏幕更改时调整自定义单元格中的 UIButton 字体

从单元格中检索多个字体数据

POI如何自动调整Excel单元格中字体的大小