J'ai finalement pensé à elle ... seulement pris quelques jours mais j'ai été trop occupé pour afficher une solution. Nous allons enfin avoir le temps et je suis heureux de poster ma solution. J'avais l'intuition que cela ne fonctionnerait pas à moins que cela ne soit fait à 100% par programmation, et j'avais raison. Voici la solution finale à mon problème:
if(mute == YES)
{
UIImage *image = [UIImage imageNamed:@"audio-off.png"];
UIButton *myMuteButton = [UIButton buttonWithType:UIButtonTypeCustom];
myMuteButton.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
[myMuteButton setImage:image forState:UIControlStateNormal];
[myMuteButton addTarget:self action:@selector(mute) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *myMuteBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:myMuteButton];
navBar.leftBarButtonItem = myMuteBarButtonItem;
[myMuteBarButtonItem release];
}
else
{
UIImage *image = [UIImage imageNamed:@"audio-on.png"];
UIButton *myUnmuteButton = [UIButton buttonWithType:UIButtonTypeCustom];
myUnmuteButton.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
[myUnmuteButton setImage:image forState:UIControlStateNormal];
[myUnmuteButton addTarget:self action:@selector(mute) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *myUnmuteBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:myUnmuteButton];
navBar.leftBarButtonItem = myUnmuteBarButtonItem;
[myUnmuteBarButtonItem release];
}
la bonne nouvelle est que j'ai finalement terminé mon application et l'a soumis à l'App Store. J'espère que tout ira bien et je suis impatient d'y être!
Avez-vous essayé de nettoyer la construction? Assurez-vous que l'application n'est pas en cours d'exécution, puis appuyez sur SHIFT-CMD-K. – Emil
Je suppose que vous avez vérifié que self.muteButton n'est pas nul? Vous l'avez définitivement connecté dans Interface Builder? – deanWombourne
im en cours d'exécution sur mon ipod touch. J'ai un NSLog qui me dit quel est l'état de bool à chaque fois que j'appuie sur le bouton et ça va. Le son s'allume ou s'éteint comme il se doit. Le seul problème est que l'icône reste toujours la même. C'est le [self.muteButton setImage: muteImage] qui ne fonctionne pas même s'il est compilé. –