1

データソースからピッカービューを取得しています。didSelectRow 関数でラベルを更新するコードがありますが、ラベルが更新されません。値を NSLog に出力すると、適切な値が出力されます。didSelectRow が入力されたときにラベルが更新されるように、ラベルを接続するために何か特別なことをする必要がありますか?

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
if (pickerView.tag == TagLensPicker){
    [self lensArrayData];
    label.text = [NSString stringWithFormat:@"%@",[description objectAtIndex:[pickerView selectedRowInComponent:0]]];
    NSLog([NSString stringWithFormat:@"%@", [description objectAtIndex:[pickerView selectedRowInComponent:0]]]);

}

}

4

2 に答える 2

1
[pickerView selectedRowInComponent:0]

あなたの問題の原因かもしれません。

[description objectAtIndex:row]動作するはずです

于 2010-01-10T17:04:43.543 に答える
0

NSLog が正しい値を出力する場合、ラベル変数に問題があるはずです。

NSLog を使用して印刷し、ラベルへの参照が正しいかどうかを確認します。

[label setNeedsDisplay]また、必要かどうかはわかりませんが、テキストを変更してから電話してみてください。

于 2010-01-10T17:31:43.513 に答える