【问题标题】:Multiple font sizes in a single UITableview cell (Swift)单个 UITableview 单元格中的多种字体大小 (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”的字符串?

【问题讨论】:

标签: swift uitableview font-size


【解决方案1】:

使用textLabel 对象的attributedText 属性。

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

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

【讨论】:

    【解决方案2】:

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

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

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

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


    如何添加额外标签:

    1. 子类UITableViewCell(我们在下面的代码中调用自定义子类CustomTableCell)。
    2. 在情节提要中将原型单元的类设置为自定义子类。 还要设置重用标识符(这里我使用了“YourCellIdentifier”)。
    3. 忘记原始标签(它不会显示在情节提要中,因此您无法相对于它定位第二个标签);而是向单元格添加 TWO 新标签,并使用自定义单元格子类设置插座。将属性命名(例如)eventTitleLabeleventPlaceLabel。设置您可能需要的任何布局约束,并配置字体大小、颜色等。

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

      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
      

    【讨论】:

    • 这看起来可能是最方便的解决方案。不过有一个问题——如何在单元格中创建一个新标签?我应该在主情节提要中制作它,然后将其连接到视图控制器还是有一行代码可以解决这个问题?
    • 查看我编辑的答案,了解如何实现这一目标的详细信息。
    猜你喜欢
    • 1970-01-01
    • 2011-07-16
    • 2020-07-13
    • 2011-12-18
    • 2017-11-03
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多