Swift 当我尝试申请时;“字体”;滚动tableview时,它会自动应用于一个tableview单元格

Swift 当我尝试申请时;“字体”;滚动tableview时,它会自动应用于一个tableview单元格,swift,uitableview,fonts,uifont,custom-cell,Swift,Uitableview,Fonts,Uifont,Custom Cell,我有一个自定义的桌面视图 我需要将粗体斜体(Helvetica BoldLoddel)字体设置为仅单元格。但当它滚动表格视图时,它也会逐个应用于其他单元格。如何解决此问题 func applyFontToTableviewCell() { var couIn = NSIndexPath(forRow: 2, inSection: 0) var couCell = colorTableView.cellForRowAtIndexPath(couIn) couCel

我有一个自定义的桌面视图

我需要将粗体斜体(Helvetica BoldLoddel)字体设置为仅单元格。但当它滚动表格视图时,它也会逐个应用于其他单元格。如何解决此问题

    func applyFontToTableviewCell() {

    var couIn = NSIndexPath(forRow: 2, inSection: 0)
    var couCell = colorTableView.cellForRowAtIndexPath(couIn)
    couCell?.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)


    }
我在CellForRowatineXpath中也尝试了同样的代码。但是同样的问题发生了


提前感谢。

您必须通过以下条件进行检查:

if (NSIndexPath(forRow: 2, inSection: 0)){
      couCell?.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
}
else{
      //set your default font
      couCell?.textLabel?.font = UIFont(name: "Helvetica", size: 18.0)
}
如果你想检查奇数和偶数

if yourindexpath % 2 == 0 {
}
所以,可能会是这样

if (NSIndexPath(forRow: indexPath.row % 2, inSection: 0)){
  couCell?.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
}
else{
  //set your default font
  couCell?.textLabel?.font = UIFont(name: "Helvetica", size: 18.0)
}

您可以在可选单元格上应用粗体字体,如吼叫方式

 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
            let couCell = tableView.dequeueReusableCellWithIdentifier(textCellIdentifier, forIndexPath: indexPath) as UITableViewCell

            let row = indexPath.row

            if row == 2 || row == 4 || row == 6 {
              couCell?.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
           }
          else{
               couCell?.textLabel?.font = UIFont(name: "Helvetica", size: 18.0)
           }

            return cell
        }

希望这对您有所帮助。

我也有同样的问题,通过在
willDisplayCell
方法中应用字体解决了这个问题

override func tableView(_ tableView: UITableView, willDisplay cell:  UITableViewCell, forRowAt indexPath: IndexPath) {
        let row = indexPath.row

        if row == 2 || row == 4 || row == 6 {
          cell.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
       }
      else{
           cell.textLabel?.font = UIFont(name: "Helvetica", size: 18.0)
       }
    }

如果(nsindepath(forRow:0,第0节)==1){couCell?.textLabel?.font=UIFont(名称:“Helvetica BoldLoddel”,大小:18.0)}其他{//使用普通字体}我知道问题出在哪里……只需要加粗一行rest就正常了,我说的对吗?谢谢你的回复。你能解释一下问题吗?不仅仅是一行,它可能会扩展到一行或两行,但不是所有行。好的,我如何确定单元格“var couCell=colorTableView.cellforrowatinexpath()”的值“。我需要找到第二个单元格,但当我滚动tableview时,它会应用于其他单元格。我尝试了很多方法。谢谢。但是有相同的问题。但是有相同的问题。”issue@Lyida,您遇到过什么问题?意思是,您只需要在2,4,6单元格上显示粗体文本?其他所有字体均为普通字体。是吗?是的。但是当滚动表格视图时,所有单元格文本都是bold@Lyida,我已根据您的要求更新了代码。请更换。在我这边,它工作得很好。