使用选择器动态更改UICollectionCell的Label

时间:2013-01-28 18:51:26

标签: ios objective-c xcode

基本上我有一个带有UICollectionView和UIPickerView的类设置。就像我现在一样,当用户点击单元格中的按钮时,弹出选择器。我想要做的是当用户从选择器中选择某些内容时,文本字段值会发生变化。以下是我设置它的方法,但是当我更改选择器中的值时,没有任何内容出现:

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    static NSString *CellIdentifier=@"cell";
    activityCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
    UITextView *nameLabel = (UITextView *)[cell viewWithTag:1];


    nameLabel.text = [NSString stringWithFormat:@"%@  %@",[arrayHour objectAtIndex:[pickerView selectedRowInComponent:0]], [arrayMinute objectAtIndex:[pickerView    selectedRowInComponent:1]]];

1 个答案:

答案 0 :(得分:1)

在您提供的代码中,您只需设置一次文本,而不是维护文本的实时链接。您需要跟踪呈现选择器视图的单元格(例如,使用ivar),并在委托方法-[UIPickerViewDelegate pickerView:didSelectRow:inComponent:]中再次设置标签文本。