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