Designer la vue principale d'un view controller

Bonjour à  tous,


 


Voilà  mon problème est le suivant : j'aimerai reproduire un certain design de la fenêtre sur chacun de contrôleurs de vue que j'utilise dans mon application. En voici le modèle :


288167Window.jpg


 


J'aimerai donc reproduire cela. Le fond de la fenêtre doit être gris foncé et la vue principale est décalée de 10 pixels par rapport aux bords.


 


Je cherche une façon élégante de résoudre mon problème. Je souhaiterai éviter d'avoir à  créer une vue dans chaque view controller du storyboard et de le relier au code à  l'aide d'un outlet. J'avais également pensé à  une image de fond générale, mais il est difficile de gérer les différentes dimensions des devices à  cause des bords arrondis notemment.


 


J'ai essayé de modifier directement la couleur de fond de la fenêtre puis de modifier la vue principale des contrôleurs de vue dans le app delegate, sans succès. Il est en plus apparament impossible de changer le "frame" de la vue principale du contrôleur (et pareil pour le "layer" principal d'ailleurs) qui doit obligatoirement occuper l'ensemble de l'espace à  l'écran.


 


J'ai donc pensé à  créer une subview, mais le problème étant qu'ensuite, lorsque j'ajoutais des éléments depuis le storyboard, ils se plaçaient en dessous de la vue créer et je ne pouvais donc pas designer mes interfaces facilement, ce que je souhaite à  tout prix.


 


Connaissez vous une façon élégante de résoudre cette problématique ?


Ou vais je devoir me résigner à  multiplier les IBoutlets ?


 


Merci d'avance pour vos éventuelles réponses ;)


Cordialement,


 


Evan Peuvergne


 


Réponses

  • AliGatorAliGator Membre, Modérateur
    Moi pour faire ça je me demande si une approche en utilisant les Container View Controllers ne serait pas la plus simple (ça dépend un peu de la navigation globale de ton appli, mais bon).

    Le ViewController parent serait celui dont la UIView prend tout l'écran et a un fond gris et a une subview blanche aux coins arrondis, et ce ViewController aurait un childViewController dont la UIView se mettrait en subview de la vue aux coins arrondis.

    Comme ça ensuite tu fais autant de ChildViewControllers que tu as d'écran, et tu affiches l'un ou l'autre en child du ViewController parent selon l'écran que tu veux afficher, et le parent sert juste de "cadre" pour le VC fils.
  • Ok mais concrètement je ne pourrais pas utiliser les storyboards au maximum de leur capacités non ?


    Me sera t il possible de tracer des sègues directement avec le clic droit ?




  • Ok mais concrètement je ne pourrais pas utiliser les storyboards au maximum de leur capacités non ?


    Me sera t il possible de tracer des sègues directement avec le clic droit ?




     


    En fait, après avoir testé ta solution, je me suis rendu compte qu'elle me convenait parfaitement.


    Merci beaucoup pour ta réponse ;)


     


    Evan Peuvergne

  • AliGatorAliGator Membre, Modérateur

    Ok mais concrètement je ne pourrais pas utiliser les storyboards au maximum de leur capacités non ?
    Me sera t il possible de tracer des sègues directement avec le clic droit ?

    Normalement de mémoire il me semble qu'avec les Container Views dans IB, tu peux justement faire ça, si. C'est un peu fait pour il me semble ;)
  • Merci beaucoup pour ton aide c'est en fait exactement la fontionnalité que je cherchais car cela me permet également de personnaliser facilement sur toute l'application la barre de naviagation (entre autres contrôles particuliers).


     


    C'est vraiment sympa de ta part de m'avoir aider. Je ne sais pas si désormais je dois fermer le sujet en tout cas je ne sais pas comment faire.


     


    Encore un grand merci ;)


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