Я столкнулся с проблемой strance с uitableview. Когда-то, когда источник данных/numberofrowsinsection моего стола имеет 3 значения, cellforowatindexpath начинается с 0-1 вместо 0-0. может кто-то помочь мне найти возможные причины для этой проблемы. даже попытался распечатать журналы, но журналы были показаны для 0 -1 и 0 -2, но не для 0 -0. Это означает, что он не получает вызов для первой строки i.e 0 -0.indexpath.row начинается с 1 вместо 0
ответ
tableView:cellForRowAtIndexPath:
вызывается как необходимо для отображения ячейки, если ячейка не будет отображаться, она не вызывается. Если строка 0 не отображается, ячейка-ячейка 0-0 не будет вызываться.
, но в numberofrowsinsection я передаю значение как 3, Так как же он переходит непосредственно к 1 вместо начала с 0? – ravoorinandan
И к моему сюрпризу это происходит в iOS8, но не в iOS7. Но я не думаю, что это должна быть проблема, это просто дикая догадка. – ravoorinandan
Да, я согласен с тем, что Zaph, но представление таблицы способно отображать три ячейки, и точка не вызывается каким-либо способом, например reloadRowsatIndexpath, что заставляет его пропускать 0 и напрямую перемещаться в 1, когда таблица может отображать все три клетки. – ravoorinandan
Как указано в Zaph, tableView:cellForRowAtIndexPath:
вызывается всякий раз, когда таблица хочет отобразить ячейку для заданного пути указателя, поэтому, если вы не получаете индексный указатель со строкой 0, это означает, что вы, вероятно, что-то делаете что предотвращает показ этой ячейки.
Мое первое предложение было бы изучить ваш метод tableView:heightForRowAtIndexPath:
и 1) проверить, вызвано ли оно вызовом с номером пути индекса, равным 0, и 2) убедиться, что возвращается что-то> 0.
Тот факт, что вы видите его на iOS 8, не обязательно означает, что что-то родное сломано, но вместо этого может предположить, что некоторые из вашей логики, которые вносят вклад в вышеуказанные методы, зависят от изменений iOS 8. iOS 8 отбросил то, как я делал вычисления размера текста, поэтому, возможно, что-то менее очевидное, как результат, приводит к возврату высоты не более 0.
Изменение высотыForRowAtIndexPath разрешило его для меня, спасибо! – jungledev
Вы можете сначала проверить количество разделов и количество строк. Если номер строки раздела возвращается 0, этот раздел не будет вызываться.
- 1. UITableView ошибка: indexpath.row начинается с 1 вместо 0
- 2. Свинья: Ранг начинается с индекса 0 вместо 1?
- 3. MediaContentType {n} начинается с 0 или 1?
- 4. Java ArrayList начинается с 1 не 0?
- 5. NSIndexPath начинается с 1
- 6. Iterartion начинается с 0
- 7. fprintf в .txt файл дает мне ‰‰‰‰‱‱‱‱‱‱‱ вместо 0 0 0 0 1 1 1 1 1 1 1
- 8. Запустить vncserver: 0 вместо: 1
- 9. Integer равен 0 вместо 1
- 10. Зачем возвращать -1 вместо 0?
- 11. Значение MDX вместо 0-1
- 12. Переменная цикла начинается с 1 вместо 0 и проблем с jquery
- 13. Swift Table: indexPath.row возвращает -1
- 14. Строка PHPExcel начинается с 1, столбец с 0
- 15. Почему Lua-массивы (таблицы) начинаются с 1 вместо 0?
- 16. i не начинается с 0
- 17. Что использовать вместо indexPath.row? для не-таблицы?
- 18. Нумерация нумерации элементов начинается с 0 или 1 в Java?
- 19. Массив начинается с 0 или 1 в Delphi 5.0 Pascal?
- 20. Regex - имеет шесть цифр, начинается с 0, 1 или 2
- 21. indexpath.row показывая индекс 0 каждый раз
- 22. Почему моя коллекция решает начать с 0 вместо 1?
- 23. Почему sqlite3_bind_ * начинается с индекса 1, но sqlite3_column_ * начинается с 0?
- 24. indexPath.row вне допустимого диапазона (всегда 0)
- 25. indexpath.row перезапускается на 0 для каждого раздела
- 26. Таблица начинается в строке 1 не в строке 0
- 27. ob_get_level() начинается с уровня 1
- 28. swift indexPath.row == 0 работает странно для UITableViewCell
- 29. JavaScript толкая к индексу 1 вместо 0
- 30. ItemsControl start at CurrentPosition = 0 вместо -1
положить методы делегата, что вы пробовали? –
В чем проблема? – zaph
Это произойдет только при попытке загрузить таблицу частично с помощью reloadRowsAtIndexPaths: withRowAnimatio или напрямую загрузить любой раздел. – iHulk