Эквивалент ReloadData для NSCollectionView для перерисовки представлений элементов

У меня есть переключатель для изменения атрибутов шрифта. В моем NSOutlineView я вызываю ReloadData для повторного рендеринга всего. Однако как я могу заставить NSCollectionView повторно отображать. Я старался

cvReader.NeedsLayout= true;
cvReader.Layout();

cvReader.NeedsDisplay = true;
cvReader.Display();

но безрезультатно. Любые подсказки очень ценятся.

Обновить. Я также пытался

cvReader.NeedsDisplay = true;
cvReader.Window.ViewsNeedDisplay = true;
cvReader.Window.FlushWindowIfNeeded();

А также присвоение контента заново. Такое ощущение, что представления элементов кэшируются, а не регенерируются. Может быть, есть способ очистить кеш просмотра элементов?


person tofutim    schedule 08.04.2014    source источник


Ответы (1)


Оказывается, представления элементов NSCollectionView можно обновить, установив ItemPrototype, например,

ItemPrototype = new SomeViewController()

Это приводит к воссозданию всех существующих представлений.

person tofutim    schedule 08.04.2014