UIImageView avec image differente suivant l' emetteur

J889J889 Membre
04:19 modifié dans Vos applications #1
Bonjour à  tous,

J' ai deux xib. Dans le premier il y a deux boutons qui font afficher le même deuxième xib.
Dans ce deuxième xib il y a une UIImageView qui doit afficher une image différente suivant que ce soit le bouton 1 ou le bouton 2 qui a ouvert le deuxieme xib.

J' ai fait un script avec les id sender des boutons mais ça ne marche :


if ([self respondsToSelector:@selector(upButton001)])<br />{<br />[images setImage:[UIImage imageNamed:@&quot;0161.jpg&quot;]];<br />}<br />


Quelqu' un pourrait il m' aider à  bien écrire le code ?

Merci.

Réponses

  • CéroceCéroce Membre, Modérateur
    04:19 modifié #2
    <br />@implementation ViewController1<br /><br />- (IBAction) button1:(UIButton *)sender<br />{<br />	[self _pushViewController2WithImage:[UIImage imageNamed:@&quot;0161.jpg&quot;]];	<br />}<br /><br />- (IBAction) button2:(UIButton *)sender<br />{<br />	[self _pushViewController2WithImage:[UIImage imageNamed:@&quot;0162.jpg&quot;]];	<br />}<br /><br />- (void) _pushViewController2WithImage:(UIImage *)image<br />{<br />	ViewController2 *controller2 = [[ViewController2 alloc] initWithNibName:@&quot;ViewController2&quot; bundle:nil];<br />	controller2.image = image;<br />	<br />	[self.navigationController pushViewController:controller2 animated:YES];<br />	[controller2 release];<br />}<br /><br />@end<br />
    
  • cemocemo Membre
    04:19 modifié #3
    tu peux si tu n'as que des images, utiliser :

    - (IBAction) bouton161:
        {
      UIImage *image=[UIImage imageNamed:@0161.jpg];
    mimage.image=image;
        }

    - (IBAction) button261:
        {
      UIImage *image=[UIImage imageNamed:@0261.jpg];
    mimage.image=image; 
        }

    ou le pushView mais je ne connais pas le code ...

    Ps: ben il est au dessus ;)
  • J889J889 Membre
    04:19 modifié #4
    Merci à  vous deux.

    Céroce, j' ai esayé mais étant novice je n' arrive pas à  faire marcher le code.

    J' ai remplacer ViewController2 par le nom des sources.

    Je joint l' image du message d' erreur que j' obtiens lorsque je fais build, si vous avez un petit moment pour jeter un oeil à  mes erreurs.

    Merci.
  • J889J889 Membre
    04:19 modifié #5
    Merci Cemo,

    Mais le code que tu as écris est valable uniquement si on ne change pas de xib non ?
  • cemocemo Membre
    04:19 modifié #6
    oui si effectivement tu ne changes pas de .xib  mais as tu besoin de changer de .xib ?

    si tu as des labels ou autres tu peux utiliser .hidden pour les cacher ou les montrer suivant le YES ou NO

  • J889J889 Membre
    04:19 modifié #7
    D' accord Cemo,

    Si j' ai bien compris le code que tu m' as donné fait apparaitre une image dans une UIImageView "mimage" ?
    J' ai essayé en plaçant une UIImageView et j' ai mis le code que tu m' as donné. ça marche.

    Effectivement je préfère un code qui permet d' afficher les photos dans un autre xib mais je retiens ton code :-)
    J' ai appris quelque chose de nouveau grâce à  toi.
    Merci :-)
  • J889J889 Membre
    04:19 modifié #8
    Céroce, est ce que le fait d' avoir utiliser une ViewBasedApplication pour cette application y pour quelque chose dans le fait que ça ne marche pas ?
  • J889J889 Membre
    04:19 modifié #9
    Voila j' ai fait une WindowsBasedApplication avec navController mais ça ne marche pas.
  • cemocemo Membre
    04:19 modifié #10
    Quand tu dis cela ne marche pas ... ton second xib ne s'affiche pas ou tu as une erreur qui t'empeche de compiler ?

    quel était ton erreur lors de ton premier post car je ne vois que des warnings ...
  • J889J889 Membre
    04:19 modifié #11
    Effectivement, quand je dis que ça ne marche pas je veux dire que la deuxieme vue arrive lorsqu' on clique sur un des boutons mais sans image. Il y a des warning.
  • J889J889 Membre
    04:19 modifié #12
    J' ai placé une UIImageView dans le controller2 que j' ai appelé image1
    donc dans le controller 1 j' ai remplacé la ligne
    controller2.image = image;
    

    par
    controller2.image1 = image;
    


    mais le controller n' affiche pas d' image et si je ne change pas cette ligne à a ne compile pas.
  • J889J889 Membre
    04:19 modifié #13
    Je renvoie l' image de mon nouveau projet pour que vous compreniez que quoi je parle (image1)
    J' espere que ce sera plus clair :-)
  • CéroceCéroce Membre, Modérateur
    04:19 modifié #14
    Je ne vais pas te répondre parce que tes questions sont basiques de chez basiques.

    Ce qu'il te faut, c'est un bon bouquin. Par exemple, celui de [url=https://www.amazon.fr/Développez-applications-pour-iPhone-Touch/dp/2300028026]Micro Applications[/url].
  • J889J889 Membre
    04:19 modifié #15
    Ok. Merci :-)
Connectez-vous ou Inscrivez-vous pour répondre.