2016-10-15 2 views
1

My tableview содержит 20 ячеек. На экран помещается только 8 ячеек, поэтому эта функцияUITableView прокручивает до не существующей ячейки программно

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 

звонки 8 раз, и я заполняю только первые 8 ячеек.

Этот метод вызывает 8 раз тоже:

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) { 
      if (indexPath.row == 11) 
      { 
       tableView.scrollToRow(at: indexPath, at: .top, animated: true) 
      } 
     } 

и я не indexPath.row == 11. Как прокрутить до 11-й ячейки?

+0

Вы использовали swift 3.0? –

+0

покажите мне весь ваш код. –

ответ

1

Создать путь let indexPath = NSIndexPath(forRow: 11, inSection: 0)

индекс затем передать этот indexPath, как self.tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: .Top, animated: false)

Это будет автоматически прокручивать его до требуемой ячейки, как указано в indexPath.

+0

спасибо! оно работает – Kirill

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