在collectionView:cellForItemAtIndexPath之外的UICollectionViewCell中更新UILabel

时间:2013-10-23 09:33:38

标签: ios uilabel uicollectionviewcell

我在IB中定义的ViewController中的UICollectionView中有一个自定义UICollectionViewCell。在单元格中有一个标签,我可以在cellForItemAtIndexPath中设置和修改文本属性。我想要实现的是更改UILabel中所选单元格的文本属性。当在didSelectItemAtIndexPath中选择单元格时,我存储了indexPath。我想按一下按钮(集合视图外面的按钮)进行更新,并将UILabel的文本属性设置为按钮标题(pressedNumber)。

我试过这个:

-(BOOL) calculate: (NSString *) pressedNumber{

talCell *cell = [self.collectionView
                 dequeueReusableCellWithReuseIdentifier:@"cell"
                 forIndexPath:selectedCell];


[cell.cellTitle setText:pressedNumber];
[self.collectionView reloadItemsAtIndexPaths:@[selectedCell]];

调试时我可以看到cell.cellTitle.text属性与pressedNumber相同。 感谢任何可能使我得到正确代码的建议。

1 个答案:

答案 0 :(得分:5)

如果你有单元格的indexPath,请使用cellForItemAtIndexPath

talCell *cell = [self.collectionView
                 cellForItemAtIndexPath:indexPath];


[cell.cellTitle setText:pressedNumber];