2015-07-02 2 views
3

У меня есть пользовательское табличное представление.Когда я пытаюсь применить «Шрифт» к одной ячейке таблицы, он автоматически применяется к другим ячейкам, когда scroll tableview

Мне нужно установить шрифт Bold Italic (Helvetica-BoldOblique) только в ячейку. Но когда он прокручивает табличное представление, он также применяется к другим ячейкам один за другим. Как решить это?

func applyFontToTableviewCell() { 

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


    } 

Я попробовал этот же код в cellForRowAtIndexPath also.But тот же вопрос произошло.

Спасибо заранее.

+2

if (NSIndexPath (forRow: 0, inSection: 0) == 1) {couCell? .textLabel? .font = UIFont (имя: «Helvetica-BoldOblique», размер: 18.0)} else {// использовать обычную font} – Spynet

+0

si знает, в чем проблема ... – Spynet

+0

Только одна строка, в которой вам нужен смелый отдых, будет нормальным, я прав? – Spynet

ответ

2

Вы можете применить полужирный шрифт к альтернативной ячейке, например, как проревел.

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 
     } 

Надеюсь, это поможет вам.

+0

Спасибо. Но у вас такая же проблема – Lydia

+0

@Lyida, с какой проблемой вы столкнулись? –

+0

означает, что вам нужен полужирный текст только на ячейке 2,4,6? другие - в обычном шрифте. правильно? –

2

Вы должны проверить, если условия:

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) 
} 
+0

Хорошо, как определить ячейку "var couCell = colorTableView.cellForRowAtIndexPath()" '. Мне нужно найти вторую ячейку тоже – Lydia

+0

См. Мой обновленный вопрос. – Lydia

+0

Но он применяется к другим ячейкам, когда я просматриваю tableview.In так много способов я пытался. – Lydia