0
我想创建一个双组件UIPickerView,其左侧包含扑克牌的值(两个,三个,Jack等)和右侧其中包含四套西装的图像。下面是相关代码:UIPickerView - 一个组件作为图像,另一个作为文本
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 2;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component {
if (component == 0)
return [self.values count];
return [self.column1 count];
}
- (NSString *)pickerView:(UIPickerView *)pickerView
titleForRow:(NSInteger)row
forComponent:(NSInteger)component {
if (component == 0)
return [self.values objectAtIndex:row];
else
return nil;
}
- (UIView *)pickerView:(UIPickerView *)pickerView
viewForRow:(NSInteger)row
forComponent:(NSInteger)component reusingView:(UIView *)view {
if(component == 1){
NSString *arrayName = [[NSString alloc] initWithFormat:@"column1"];
NSArray *array = [self valueForKey:arrayName];
return [array objectAtIndex:row];
}
else
return nil;
}
正如你可能会看到,我已尝试创建左构件和右构件的独立选择器的委托方法。但是,这并没有给我预期的结果。该代码似乎只运行viewForRow方法,忽略其他。因此,我最终得到了用图像填充的正确组件,而左侧组件是空的。有人知道用不同的方式来填充这两个组件吗?
另外你的代码似乎有点奇怪。在'viewForRow:'方法中,您可以直接使用'[self.column1 objectAtIndex:row]'而不是现在的三行。 – calimarkus 2012-03-24 21:17:38
好通话的人。谢谢。 – 2012-03-25 00:17:30