0

В настоящее время у меня есть UITableView с строкой, возвращающей 0.0, которая затем расширяется, когда пользователь нажимает кнопку «показать больше». Когда это произойдет, строка выше возвращает определенное значение в зависимости от высоты контейнера, что происходит немедленно. То, что я хотел бы сделать, это создать какую-то анимацию, пока она будет увеличена/уменьшена.Swift: оживить расширяющиеся строки в UITableView?

Вот мой код в данный момент:

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 

    if indexPath.row == 2 && self.numberOfElements >= 2 { 
     if detailsVisible == false { 
      self.showMoreLabel.text = "Show more (\(self.numberOfElements - 1))" 
      return 0.0 
     } 
     else { 
      self.showMoreLabel.text = "Show less" 
      return embedKonteringHeight 
     } 
    } 
} 

Где вар detailsVisible возвращает логическое значение, если отображается расширяемая содержание или нет.

Есть ли простой способ оживить это? Я думал что-то вроде простого счетчика, увеличивающегося/уменьшающегося, которое возвращается heightForRowAtIndexPath в течение интервала.

ответ

3

Хорошо, поэтому после некоторых исследований я обнаружил метод, который работает очень хорошо. Я отправлю его здесь, если кто-то захочет узнать ответ.

В didSelectRowAtIndexPath, мне просто нужно было заменить

tableView.reloadData() 

с

tableView.beginUpdates() 
tableView.endUpdates() 
Смежные вопросы