Динамика UIKit на UITableView

Как отметил @FelixKling, наиболее вероятным сценарием является то, что узлы, которые вы ищете, еще не существуют.

Однако современные методы разработки часто могут манипулировать элементами документа за пределами дерева документов либо с DocumentFragments, либо просто отсоединением / повторным подключением текущих элементов напрямую. Такие методы могут использоваться как часть шаблонов JavaScript или для предотвращения чрезмерных операций перерисовки / переплавки, в то время как элементы, о которых идет речь, сильно изменяются.

Аналогично, новая функциональность «Теневой DOM» развертывается в современных браузерах позволяет элементам быть частью документа, но не обрабатываться запросом document.getElementById и всеми его методами sibling (querySelector и т. д.). Это делается для инкапсуляции функциональных возможностей и, в частности, скрыть его.

Опять же, скорее всего, элемент, который вы ищете, просто (пока) в документе, и вы должны сделать, как предлагает Феликс , Тем не менее, вы также должны знать, что это все чаще является не единственной причиной того, что элемент может быть необоснованным (временно или постоянно).

28
задан drix 30 December 2013 в 21:43
поделиться

1 ответ

К сожалению, нет.

Каждый UICollectionView имеет объект макета (подкласс UICollectionViewLayout), который описывает, где каждая ячейка должна находиться в представлении прокрутки представления коллекции и какие ячейки видны в данном CGRect. У UITableView этого нет, поэтому было бы намного сложнее делать что-либо, что манипулирует положением его клеток.

В дополнение к анимации UIView объектов, UIKit Dynamics можно использовать для прямой анимации UICollectionViewLayoutAttributes, что необходимо для класса стилей UITableView или UICollectionView, в котором есть многократно используемые ячейки, которые могут быть не все на экране, но который все еще был бы частью "физики" UIDynamicAnimator. UIDynamicAnimator методы, такие как layoutAttributesForCellAtIndexPath:, могут затем использоваться для заполнения вашего объекта макета.

Поскольку не существует эквивалентного объекта макета для UITableView и нет эквивалентного кода UIDynamicAnimator для работы за пределами экрана UITableView, вероятно, вам будет гораздо проще переключиться на UICollectionView, если вы хочу такое поведение.

28
ответ дан knellr 30 December 2013 в 21:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: