2011-12-19 16 views
0

UIPickerView 2つのコンポーネントを使用したい場合、2番目のコンポーネントの値は最初のコンポーネントの値に依存します。たとえば、最初のコンポーネントの場合はグループ1が選択され、2番目のコンポーネントの場合はグループ1値を表示する必要があります。UIPickerView 2コンポーネントの値はiPhone

両方のコンポーネントから値を選択すると、値はUITextFieldまたはUILabelに割り当てられ、ピッカーは非表示になります。

(私はUIPickerViewを追加するためにサブビューを追加したメインビューを持っています)。

チュートリアルや例を参照してください。

任意の助け

理解 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

{

リターン2。

}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)成分 {

場合(成分== 0){ リターン[VGroupコンテナカウント]。他 }

{戻り[vehiclePickerListカウント]。 }

}

- (NSStringの*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)行forComponent:(NSInteger)成分 {

switch (component) 
{ 
    case 0: 
     return [vGroup objectAtIndex:row]; 
     break; 
    case 1: 
     return [vehiclePickerList objectAtIndex:row]; 
     break; 
} 
return nil; 

}

+0

あなたは何を試しましたか? (標準的な質問) – jv42

答えて

1

あなたが書いたコードを入力してください。コンポーネント関連の問題については、- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerViewを使用してください。 基本ピッカーチュートリアルについては、Basic Picker Tutorialをご覧ください。

コンポーネント1の各行の対応する値(コンポーネント2に表示する)を辞書の配列に格納し、そこから値をロードします。

+0

残念ながらコードは削除されましたが、これはプロセスを作成しようとしているコードです。 – AppDeveloper

+0

あなたは完全にうまくいった。今、あなたが直面している問題は何ですか? pickerViewメソッドが呼び出されない場合は、デリゲートを追加します。データが来ない場合は、データソースを追加するか、vGroupおよびvehiclePickerListオブジェクト/コンテンツをlogにチェックします。別の最初のコンポーネント行をクリックするたびに、 - (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)コンポーネントメソッドを使用して、vehiclePickerListの内容を変更します。 – utsabiem

+0

ありがとうutsabiem :)しかし、あなたがコードを手に入れようとしているサイトについて私に教えてくれれば助けになるでしょう – AppDeveloper

関連する問題