0

UIPickerViewtimeHour、timeMinute、timeSecondの3行のデータがあります。データを収集する方法、データを選択した後、labelTimeで表示しUIPickerViewますか?以下のコードを使用していますが、最初の行のデータ(timeHour)のみを収集します。

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    labelTime.text = [timeHour objectAtIndex:[picker selectedRowInComponent:0]];
}

labelTimeに表示したいのは、次のようなものです-> hh:mm:ss(99:59:59としましょう)。そして、UIPickerViewを00:00:00に戻すたびに、どのようにリセットしますか?

申し訳ありませんが、私はここで新しいです。ご協力ありがとうございました。

4

2 に答える 2

0

このコードを書くだけです。

[yourPickerView reloadAllComponents];

お役に立てればと思います。

于 2012-06-22T09:01:20.907 に答える
0

実際、私は常にピッカー内のアイテムを列として考えていました:

あなたが話している関数は、誰かがピッカーの異なる列の 1 つをスピンするたびに呼び出されます。

次のようなものが必要になると思います

NSString* hour = [timeHour objectAtIndex:[picker selectedRowInComponent:0]];
NSString* min = [timeMin objectAtIndex:[picker selectedRowInComponent:1]];
NSString* sec = [timeSec objectAtIndex:[picker selectedRowInComponent:2]];
labelTime.text = [hour stringByAppendingFormat:@":%@:%@", min, sec];  // don't forget to 0-pad if desired

ビューを毎回 00:00:00 にリセットする場合は、prasad が述べたように、デリゲート コードの外で reloadAllComponents を呼び出してから、dataSource で初期値をすべてゼロに戻すことができます。

于 2012-06-22T09:08:11.493 に答える