images sur un picker

senemoutsenemout Membre
04:22 modifié dans API UIKit #1
bonjour, je n'arrive pas à  mettre d'images sur un picker
cela marche avec le texte et pas avec les images ou est l'erreur ?
Merci
Senemout

#import "PickerViewController.h"

@implementation PickerViewController

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];


imageHiero = [[NSMutableArray alloc] init];


[NSMutableArray arrayWithObjects:
// ne marche pas
[UIImage imageNamed:@A1.jpg],
[UIImage imageNamed:@A2.jpg],
[UIImage imageNamed:@A3.jpg],
[UIImage imageNamed:@A4.jpg],
[UIImage imageNamed:@A5.jpg], nil];

// marche
[imageHiero addObject:@A2];
[imageHiero addObject:@A3];
[imageHiero addObject:@A4];
[imageHiero addObject:@A5];
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning]; // Releases the view if it doesn't have a superview
    // Release anything that's not essential, such as cached data
}


- (void)dealloc {
[imageHiero release];
    [super dealloc];
}

#pragma mark -
#pragma mark Picker View Methods

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView {

return 3;
}

- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component {

return [imageHiero count];
}

- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {

return [imageHiero objectAtIndex:row];
}

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

NSLog(@Selected Color: %@. Index of selected color: %i", [imageHiero objectAtIndex:row], row);
}

@end

Réponses

  • Philippe49Philippe49 Membre
    04:22 modifié #2
    L'instruction [imageHiero addObject:@A2]; ajoute la chaà®ne de caractères A2 dans le tableau imageHiero, pas l'image comme tu sembles vouloir le faire.
    Pour ajouter l'image, il faut faire :
      UIImage * imageA2 = [UIImage imageNamed:@A1.jpg];
      [imageHiero addObject: imageA2];

    Je déplace ton post dans la rubrique iPhone
  • Philippe49Philippe49 Membre
    04:22 modifié #3
    D'autre part pour présenter une image, ce n'est surement pas la méthode pickerView:title ForRow:forComponent: qu'il faut utiliser.
    Ouvre la doc sur UIPickerViewDelegate et UIPickerViewDatasource pour obtenir les informations nécessaires.
  • 04:22 modifié #4
    Rassurez-moi, c'est nouveau depuis l'OS 3 ? Parce que moi je me suis fait chier à  coder une UIView perso pour afficher les photos en quadrillage :|
  • Philippe49Philippe49 Membre
    04:22 modifié #5
    En tout cas la méthode pour mettre une view à  présenter dans la row est dans 2.2.
    Ceci dit, l'idée du PickerView est excellente, mais j'aimerais pourvoir personnaliser l'aspect un peu plus. je trouve le contour assez moche !
  • 04:22 modifié #6
    erf je confondais avec UIImagePickerController :D C'est là  que je rêve de changer la source des images pour utiliser celles de mon application <_<
Connectez-vous ou Inscrivez-vous pour répondre.