2015-06-06 3 views
0

Я использую UICollectionView, в котором один UICollectionViewCell охватывает весь экран. Внутри моего UICollectionViewCell, я даю людям возможность добавить текст (UILabel), изображения (UIImageView) и цвет (UIColor). Теперь, когда пользователь переходит к следующей ячейке, я хочу, чтобы цвет, метки и изображения отображались точно так же, как они были добавлены в предыдущую ячейку. Пользователи также имеют возможность щепотку и панорамирование меток и изображений. Короче говоря, как я могу передавать данные из одной ячейки в другую?Передача данных между UICollectionViewCells

ответ

0

Я вижу несколько способов, как это сделать, в зависимости от вашей реализации: использовать глобальные свойства/ivars для хранения выбранных данных с пользовательского ввода. В любом случае вы, вероятно, обрабатываете методы UITextFiledDelegate в своем контроллере или извлекаете ячейку по indexPath и копируете значения из текущей ячейки в следующую.

И когда пользователь нажимает на кнопку «Продолжить» Вы:

1) Если вы создаете все, что вам collectionViewCells сразу в cellForItemAtIndexPath, то вы должны только перезагрузить нужную ячейку с помощью - (void)reloadItemsAtIndexPaths:(NSArray *)indexPaths и установите значения, сохраненные ранее.

2) Если вы создаете ячейки, но следующий не готов (например, вы сохраняете память) - все почти то же самое - вы добавляете новую ячейку в collectionView и читаете данные из ваших свойств.

3) Если у вас есть не кнопку «Продолжить» и/или пользователь может красть ячейки в любой момент - так что вы можете перезагрузить ячейку в scrollViewDidScroll (или scrollViewWillBeginDragging) или извлечь сущее по indexPath и изменять его без перезагрузки ,

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