Aucune action sur UIButtonBarItem

2»

Réponses

  • Je viens de voir que ceci apparaissait dans ma console (c'est nouveau, avant ça ne me le faisait pas)


     



    2014-08-27 16:29:59.005 MyAppName[27039:60b] CUICatalog: Invalid asset name supplied: , or invalid scale factor: 2.000000


    2014-08-27 16:29:59.008 MyAppName[27039:60b] Could not load the "" image referenced from a nib in the bundle with identifier "BM.MyAppName"


     


  • AliGatorAliGator Membre, Modérateur

    Mais [[MesTChat alloc] init] ne créera que le ViewController sans le View du xib, sauf si tu "override" la méthode init ; ce que tu n'as pas fait selon le code que tu as posté



    Si il se trouve que (depuis iOS6 seulement peut-être ?) la méthode "init" de UIViewController regarde s'il existe un XIB qui porte exactement le même nom que la classe, et si oui, appelle en fait [self initWithNibNamed:NSStringFromClass(self) bundle:nil] au final tout seul.


  • Joanna CarterJoanna Carter Membre, Modérateur


     


    Et sinon si je l'override la méthode, avec le super initWithNibName... qui est créée automatiquement :)



    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
    self.title=@Tchat privé;
    }
    return self;
    }



     


    Si ton code de création appelait -initWithNibName:bundle: oui mais tu m'as dit que t'appelles -init.

  • Joanna CarterJoanna Carter Membre, Modérateur


    Si il se trouve que (depuis iOS6 seulement peut-être ?) la méthode "init" de UIViewController regarde s'il existe un XIB qui porte exactement le même nom que la classe, et si oui, appelle en fait [self initWithNibNamed:NSStringFromClass(self) bundle:nil] au final tout seul.




     


    Si c'est vrai, je ne le savais pas. Je m'excuse.

  • Ben77650Ben77650 Membre
    août 2014 modifié #36

    Et pourtant ça marche très bien le problème ne viens pas de là , car il m'affiche effectivement le titre demandé, hors le titre je ne le défini que dans mon inithWibNibName, donc il rentre dedans sinon mon titre serait vide  ;)


  • Ah et oui pour info j'ai crée ce matin un nouveau fichier et j'ai copier coller le contenu de l'ancien dans le nouveau en pensant que ça résoudrait le souci (car oui dans l'ancien, bizarrement dans le finder je n'avais pas le .xib), mais cela n'a rien réglé ;)


  • Encore moi, une info que j'ai oubliée de préciser qui a son importance: Sur un iPhone Retina 4-inch ça fonctionne très bien, mais ça ne fonctionne pas sur un iPhone Retina 3.5 inch


  • Joanna CarterJoanna Carter Membre, Modérateur

    Commençons à  zero.


     


    Ce ViewController, c'est le premier de l'app, créé dans le AppDelegate ?


  • Joanna CarterJoanna Carter Membre, Modérateur


    Encore moi, une info que j'ai oubliée de préciser qui a son importance: Sur un iPhone Retina 4-inch ça fonctionne très bien, mais ça ne fonctionne pas sur un iPhone Retina 3.5 inch




    C'est exactement quoi qui ne fonctionne pas ?

  • Non, si tu veut l'architecture:


     


    L'AppDelegate appelle HomeViewController.


    Dans mon HomeViewController j'ai un menu similaire à  celui de cette vue, sauf que à  la place de la maison j'ai une bulle


    Au clic sur cette bulle on arrive sur ListTchat


    Et en cliquant sur le message voulu dans l'UITableView de ListTchat on tombe sur MessTchat


     


     


    Comme dit précédemment, au clic sur les éléments de la toolbar il ne se passe absolument rien, alors que sur un 4-inch, il m'envoie bien sur les vues correspondantes, et sur les autres vues il me le fait bien aussi :/


  • AliGatorAliGator Membre, Modérateur


    Encore moi, une info que j'ai oubliée de préciser qui a son importance: Sur un iPhone Retina 4-inch ça fonctionne très bien, mais ça ne fonctionne pas sur un iPhone Retina 3.5 inch




    Sur un iPhone ou sur le simulateur ?


     


    Fait un Clean (voire un Clean Build Folder), supprime l'appli du simulateur (comme tu la supprimerais d'un vrai iPhone, appui long puis petite croix), et recommence. Si ça se trouve c'est juste un cache du XIB avant que tu aies fait la connexion.

  • Je teste l'iPhone 4-inch sur le simulateur, et le test de l'iPhone 3.5-inch se fait sur un iPhone 4S.


     


    J'ai déjà  fait un Clean sans que cela ne donne rien. Je viens de supprimer et réinstaller l'application, ça n'a pas résolu mon souci. Ca a effacé mes favoris, chose normale. Et j'ai toujours ce message dans la console.




  • Ah et oui pour info j'ai crée ce matin un nouveau fichier et j'ai copier coller le contenu de l'ancien dans le nouveau en pensant que ça résoudrait le souci (car oui dans l'ancien, bizarrement dans le finder je n'avais pas le .xib), mais cela n'a rien réglé ;)




     


    Si c'est sur le xib que tu as fait le copier-coller, c'est peut-être justement là  que tu as foutu le bin's... Essayes de supprimer la classe entière et de la recréer de zéro (tu gardes les méthodes dans un coin pour les recopier ensuite). 


     


    Dans ton message d'erreur, il parle d'un scale factor 2., et d'un nom d'image "" (vide). C'est bizarre aussi...

  • J'ai fait un copier coller de tout, .m, .h, .xib, mais je pense pas que ça vienne de la vu que même avant ça ne marchais pas.


     


     


    Bah oui le message d'erreur est d'autant plus bizarre que vous avez mon code entier et que à  aucun moment je ne définis une image vide...


  • Joanna CarterJoanna Carter Membre, Modérateur

    Qu'est-ce que tu as dans le panneau pour le xib comme j'ai ci-joint ?


    xib.png 16.5K
  • J'ai exactement comme toi à  la seule différence que l'auto layout est décoché ;)


  • AliGatorAliGator Membre, Modérateur

    Je teste l'iPhone 4-inch sur le simulateur, et le test de l'iPhone 3.5-inch se fait sur un iPhone 4S.
     
    J'ai déjà  fait un Clean sans que cela ne donne rien. Je viens de supprimer et réinstaller l'application, ça n'a pas résolu mon souci. Ca a effacé mes favoris, chose normale. Et j'ai toujours ce message dans la console.

    Teste l'inverse alors : fait un clean et... efface l'appli de ton Simulateur 4-inch. Car peut-être que lui il marche... à  cause d'un ancien état du XIB, mais que si tu clean et réinstalles l'appli sur le simulateur 4-inch from scratch, cette fois elle ne marchera plus.

    Je sais, ça donne l'impression d'aller en arrière et pas en avant (tu auras un XIB qui ne marche plus ni sur ton iPhone 4S 3.5" ni sur ton simu 4") mais au moins ça sera consistant, tu n'auras pas une différence de comportement en fonction de la taille d'écran.

    Teste aussi sur un simulateur 3.5" du coup, histoire de comparer 2 cas simulaire, simulateur contre simulateur. Car si tu n'essayes pas un minimum d'isoler le problème, on risque de chercher dans plein de mauvaises directions au lieu de trouver la bonne origine et de se concentrer dessus.
  • J'ai désinstallé l'application sur le simulateur et ça marche toujours en 4-inch.


     


    Et oui j'ai pas précisé 3-5-inch testé sur device et sur simulateur et dans les 2 cas ça ne marche pas.


Connectez-vous ou Inscrivez-vous pour répondre.