2015-02-25 3 views
0

У меня есть круговая диаграмма, которая доступна для кликов, каждая секция представляет ячейку внутри UICollectionView. При нажатии на раздел пирога я хочу изменить цвет фона ячейки, которой он соответствует. Я использую следующее, но ничего не происходит.Как изменить UICollectionView Цвет фона ячейки с внешнего UICollectionView

- (void)pieChart:(XYPieChart *)pieChart didSelectSliceAtIndex:(NSUInteger)index { 

NSIndexPath *path = [NSIndexPath indexPathWithIndex:index]; 

[[self.collectionCategories cellForItemAtIndexPath:path] setBackgroundColor:[UIColor blueColor]]; 

} 

Любые идеи, спасибо.

+0

Этот код находится в том же контроллере, который имеет вид коллекции ? – rdelmar

+0

Да, он просто не хочет взаимодействовать или вносить изменения. Я проверил, чтобы убедиться, что они подключены, и это так, и я также попытался изменить цвет ячейки (она работает), когда ячейка создана. – ORStudios

+0

Вы проверили (с протоколированием или отладчиком), что [self.collectionCategories cellForItemAtIndexPath: path] возвращает ячейку? – rdelmar

ответ

1

Я думаю, что проблема заключается в том, как вы создаете свой индексный путь. Вы должны делать это как так (при условии, что у вас есть только один раздел),

NSIndexPath *path = [NSIndexPath indexPathForItem:index inSection:0]; 

В indexPath для представления таблицы или представления коллекции необходимо указать как раздел и строку. Если вы зарегистрируете путь индекса, созданный указанным выше способом, вы увидите, что длина равна 2, тогда как вы изначально сделали это, длина равна только 1.

+0

Спасибо, да, просто заметил это несколько минут назад. Вы верны после того, как я добавил выше, что он собирал на камеру. – ORStudios

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