0

基本的に、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]]];
4

1 に答える 1

1

提供したコードでは、テキストへのライブリンクを維持するのではなく、テキストを1回設定するだけです。ピッカービューが表示されているセルを追跡する必要があり(たとえば、ivarを使用)、delegateメソッド-[UIPickerViewDelegate pickerView:didSelectRow:inComponent:]でラベルのテキストを再設定します。

于 2013-01-28T19:05:50.547 に答える