2016-03-15 3 views
0

Я хочу изменить высоту прикоснулся строки в виде таблицы (так он расширяется):UITableViewCell изменение высоты

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    let cell = tableView.cellForRowAtIndexPath(indexPath) as! CustomTableViewCell 
    if let currentSelection = self.currentSelection { 
     if currentSelection == indexPath { 
      tableView.deselectRowAtIndexPath(indexPath, animated: true) 
      self.currentSelection = nil 
      tableView.beginUpdates() 
      tableView.endUpdates() 
      setupAnimation(cell, hide: true) //Custom animation inside the cell 
     } 
    } else { 
     self.currentSelection = indexPath 
     tableView.beginUpdates() 
     tableView.endUpdates() 
     setupAnimation(cell, hide: false) //Custom animation inside the cell 
    } 
} 

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    if let currentSelection = self.currentSelection { 
     if indexPath == currentSelection { 
      return 80.0 
     } 
    } 
    return 50.0 
} 

Это работает - высота меняется на 80,0, когда я нажимаю на строку, и возвращается 50.0 при повторном нажатии. Дело в том, что мой разделитель не движется.

Не только он не движется, но когда я нажимаю на ячейки:

  1. высота расширяется ->
  2. просверленных сепаратор клеток остается в том же месте ->
  3. Сепаратор ячейка выше исчезает

Что я делаю неправильно или что мне здесь не хватает?

EDIT

Я попытался переопределить метод layoutSubviews и забыл об этом - я не называю super.layoutSubviews() в нем. Теперь разделитель выбранной ячейки движется вниз с ним, но я до сих пор есть проблемы с разделителем ячейки выше исчезают

ответ

2

попробовать перезагрузить, что клеточно

tableView.beginUpdates() 
tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic) //try other animations 
tableView.endUpdates() 
+1

Я уже пробовал. Не работает. – Ancinek

+0

В классе CustomTableViewCell в методе 'awakeFromNib' try' self.clipsToBounds = true' –

+0

Я настолько глуп. Я попытался переопределить макеты, но не назвал super в этом методе. Теперь разделитель выбранной ячейки движется вниз, но у меня все еще проблема с разделителем вышеупомянутой ячейки, исчезающей – Ancinek

Смежные вопросы