Je voudrais créer une ligne assez complexe dans mon UIPicker. Tous les exemples que j'ai vu créer une vue à partir de zéro comme si ...Charger une ligne à partir de NIB dans UIPickerView viewForRow
- (UIView *) pickerView:(UIPickerView *)pickerView
viewForRow:(NSInteger)row
forComponent: (NSInteger)component reusingView:(UIView *)view
{
CGRect cellFrame = CGRectMake(0.0, 0.0, 110.0, 32.0);
UIView *newView = [[[UIView alloc] initWithFrame:cellFrame] autorelease];
newView.backgroundColor = [UIColor colorWithRed:1.0 green:0.0 blue:1.0 alpha:1.0];
return newView;
}
Cela fonctionne essentiellement, il montre un rectangle violet dans mon Picker.
Mais je voudrais être en mesure de charger l'élément pickerView d'un fichier NIB comme si ...
- (UIView *) pickerView:(UIPickerView *)pickerView
viewForRow:(NSInteger)row
forComponent: (NSInteger)component reusingView:(UIView *)oldView
{
NSArray * nibs = [[NSBundle mainBundle] loadNibNamed:@"ExpenseItem" owner:self options:nil];
UIView *newView = [nibs objectAtIndex:0];
return newView;
}
On obtient ainsi un écran blanc, qui n'a même pas montrer le sélecteur plus. Je peux juste le faire de la première façon et construire mes sous-vues en code, mais il y a évidemment quelque chose qui se passe ici que je ne comprends pas. Est-ce que quelqu'un sait?