Я пытаюсь создать двухкомпонентный 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, игнорируя другой. Таким образом, я получаю правый компонент, заполненный изображениями, а левый компонент пустым. Кто-нибудь знает по-разному заполнить оба компонента?