Superposition de vues de même niveau

UniXUniX Membre
04:58 modifié dans API AppKit #1
Salut.

Je me pose une question de fond sur les vues.
Lorsque l'on souhaite enpiler plusieurs objets au niveau d'une vue, quelle est la meilleure méthode pour le faire ?
Je m'explique avec des exemples : une vue avec un fond coloré, un cadre qui l'entoure, et des boutons. Dans IB, je pourrais créer une vue perso, écrire le code qui va bien pour faire la coloration et le cadre, et de nouveau dans IB déposer au dessus de cette vue les boutons. Mais je ne respecte pas la règle qui dit que des vues de même niveau ne doivent pas être superposées .....

Il y a la solution de tout écrire en code, mais lorsque la vue est plus chargée que quelques boutons, ça devient dificile à  gérer .......
Avec IB pour pouvoir rester dans des manipulations visuelles, comment faut-il s'y prendre ???

Faut-il créer sa vue à  part de la fenêtre, et dans le awakeFromNib l'insérer dans la fenêtre ?
Y a t-il d'autres solutions ?

Réponses

  • AliGatorAliGator Membre, Modérateur
    04:58 modifié #2
    Salut,

    Tu peux très bien dans IB créer plusieurs niveaux de vues.
    Un exemple type est quand tu fais une scrollview : c'est bien une vue (scrollview) qui en contient une autre (nsview perso, nstableview...).

    Pour faire cela crée d'abord ta vue extérieure (celle que tu dit être colorée), puis ensuite prend dans ta palette d'outils un NSButton, et déplace-le hors de la palette d'outils par dessus la vue "extérieure" que tu as déjà  placée. Cette dernière (vue "encadrante") va alors se colorer d'un liseret bleu pour t'indiquer que si tu lâches, tu déposeras ton NSButton dans cette vue.

    Astuce : si tes vues "intérieures" sont déjà  placées dans IB, tu peux aussi les sélectionner, puis faire un couper-coller : au moment où tu fais le "coller", tu peux te placer dans la "vue extérieure" (double-clic) et à  ce moment là  elles seront collées dedans.
  • UniXUniX Membre
    04:58 modifié #3
    D'accord.

    En fait lors de cette manipulation, les vues persos perdent leur fond vert et le nom de la classe disparaà®t .... Je pensais donc à  tort que la manipulation était mauvaise ...!

    Merci Ali.
  • UniXUniX Membre
    04:58 modifié #4
    Question subsidiaire : j'ai vu dans le menu Layout de IB une fonction Validate Layout.
    Faut-il obligatoirement qu'il n'y est plus d'erreurs là -dedans ? D'ailleurs, il m'en met plusieurs pour les quelles je suis perplexe ....
    Et le bouton Validate, il sert à  quoi ?
Connectez-vous ou Inscrivez-vous pour répondre.