2011-12-19 69 views
0

我想要使用UIPickerView和2个组件,其中第二个组件值将取决于第一个组件值,就像在第一个组件中选择组1一样,然后在第二个组件中选择组1值应该显示。UIPickerView 2组件值iPhone

从两个部件中选择值后,值将被分配到UITextFieldUILabel并且选取器将被隐藏。

(我有一个主视图,其中我添加了一个子视图来添加UIPickerView)。

请参阅任何教程或示例。

任何帮助理解

- (NSInteger的)numberOfComponentsInPickerView:(UIPickerView *)pickerView

{

返回2;

}

- (NSInteger的)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger的)组分 {

如果(组分== 0){ 返回 [vGroup计数]; }

else { return [vehiclePickerList count]; }

}

- (的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

什么问题/你有什么尝试? (标准SO问题) – jv42 2011-12-19 09:01:18

回答

1

请提供一些你写的代码。对于与组件相关的问题,请使用- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView。 对于基本的选择器教程,请访问这里:Basic Picker Tutorial

在字典数组中存储组件1的每一行的相应值(您希望在组件2中显示的值),并从那里加载值。

+0

不幸的是代码已被删除,但是这是我尝试创建进程的代码。 – AppDeveloper 2011-12-19 10:15:28

+0

你做得很好。现在,你面临的问题是什么?如果pickerView方法没有被调用,那么添加委托。如果数据未到,请添加数据源/检查日志中的vGroup和vehiclePickerList对象/内容。对于第二个组件中的新项目列表,每次单击不同的第一个组件行时,相应地使用 - (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)组件方法更改vehiclePickerList的内容。 – utsabiem 2011-12-19 13:27:53

+0

谢谢你utsabiem :)但它会有帮助,如果你告诉我关于该网站从哪里我会得到的代码 – AppDeveloper 2011-12-19 13:52:25