Objective c iPhone:多个UIPickerViews
我在iPhone应用程序中使用多个Objective c iPhone:多个UIPickerViews,objective-c,uitextfield,uipickerview,Objective C,Uitextfield,Uipickerview,我在iPhone应用程序中使用多个UIPickerView。我的问题是,如何处理多个UIPickerView处理事件 另外,我想将所选值放入不同UIPickerViews的UITextField中,在每个代理中,您都有触发该代理的UIPickerView的引用。例如: -(void)组件的编号图标视图:(UIPickerView*)图标视图 您有pickerview变量,该变量指向响应此操作的控件,现在只需区分UIPickerView,如下所示: if (thePickerView == fi
UIPickerView
。我的问题是,如何处理多个UIPickerView
处理事件
另外,我想将所选值放入不同
UIPickerViews
的UITextField
中,在每个代理中,您都有触发该代理的UIPickerView
的引用。例如:
-(void)组件的编号图标视图:(UIPickerView*)图标视图
您有pickerview变量,该变量指向响应此操作的控件,现在只需区分UIPickerView
,如下所示:
if (thePickerView == firstPickerView)
或者使用标记属性
我会选择标签解决方案;比较int
要快得多
如何获取所选值:
对于所选的UIPickerView
值,您可以使用委托:
-(void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
您需要在这里使用相同的技术;区分您的UIPickerView
并获取该数据源的选定行,您就完成了
MyTextField.text = [theSelectedListArray objectAtIndex:row];
MyTextField.text = [theSelectedListArray objectAtIndex:row];
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
NSInteger counter;
if(pickerView==p1)
{
counter=[name count];
}
else
{
counter=[name2 count];
}
return counter;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
if(pickerView==p1)
return [name objectAtIndex:row];//name is NsMutable Array
else
return [name2 objectAtIndex:row];//name2 is NsMutable Array
}