Wil*_*y94 2 arrays iphone components uipickerview ios
这可能是一个简单的问题,但如何将多个组件添加到UIPickerView?我使用NSMutableArray来填充一个组件,但我不知道如何填充其他组件.我还需要在选择行时更改标签的值.在此先感谢基兰
Tiq*_*lou 12
我认为你是初学者.以下是如何实现nacho正确指出的方法:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
// return the number of components required
return 2;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用其他NSMutableArray人填充组件.假设你有2个组件,每个组件使用不同的NSMutableArrayie array1和array2:
// Return row count for each of the components
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
if (component == 0) {
return [array1 count];
}
else {
return [array2 count];
}
}
// Populate the rows of the Picker
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
// Component 0 should load the array1 values, Component 1 will have the array2 values
if (component == 0) {
return [array1 objectAtIndex:row];
}
else if (component == 1) {
return [array2 objectAtIndex:row];
}
return nil;
}
Run Code Online (Sandbox Code Playgroud)
使用此代码更改a的文本label,例如selectedValue在PickerView中选择值时:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
selectedValue.text = [NSString stringWithFormat: @"%@, %@", [array1 objectAtIndex:[myPicker selectedRowInComponent:0]],[array2 objectAtIndex:[myPicker selectedRowInComponent:1]]];
}
Run Code Online (Sandbox Code Playgroud)
......你很高兴去:)
您可能还想查看http://joshhighland.com/blog/2009/09/17/uipickerview-spinning-multiple-components/,以获取有关pickerView编程的宝贵提示.