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

时间:2015-12-24 06:33:47

标签: swift uitableview font-size

我有一个带有多行文本的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?”的字符串。

2 个答案:

答案 0 :(得分:1)

使用attributedText对象的textLabel属性。

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

有关详情,请参阅NSAttributedString

答案 1 :(得分:1)

  

有没有办法在" \ n"之后减小字体大小?换线如此   字符串标记为" eventPlaceName"将显示为小于   标有" eventTitle?"

的那个

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

  1. 一个用于"事件标题"
  2. 一个用于"活动场所"
  3. 我的意思是,你可以使用属性字符串,但显然这些是两个独立的信息,你在这里有一个重复的模式。在我看来,两个标签听起来像是最好的做法/不那么令人头疼的事。

    如何添加额外标签:

    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