Méthode similaire à  viewDidLoad pour une UIView ?

apocaalypsoapocaalypso Membre
12:15 modifié dans API UIKit #1
Bonjour tout le monde,

J'ai un petit problème ou plutôt une petite question.
Dans mon projet d'application j'ai plusieurs UIView avec un fichier pour chaque (un .m et un .h).
Donc je suis obligé de lancer toutes ces views avec awakeFromNib mais je voulais savoir s'il existait une méthode pour ne charger la view que lorsque celle-ci apparaà®t (avec un addSubview: ) un peu comme viewDidLoad pour un UIViewController.

Merci d'avance !

Guillaume.

Réponses

  • schlumschlum Membre
    12:15 modifié #2
    La première fois que "drawRect" est appelé quoi... Pas bien difficile à  implémenter.
  • apocaalypsoapocaalypso Membre
    12:15 modifié #3
    C'est à  dire ?
  • schlumschlum Membre
    12:15 modifié #4
    i-var "loaded" mise à  "false", et si elle est à  "false" dans le "drawRect", on fait le boulot, et on la met à  true.

    Mais ça sent la conception pourrie ce besoin  :P
  • apocaalypsoapocaalypso Membre
    12:15 modifié #5
    C'est qu'en fait, j'ai une vue avec des balles qui rebondissent sur les bords.
    Même lorsque cette vue (celle qui contient les balles) n'est pas affichée, elle tourne qu'en même. Je voudrais qu'elle ne soit lancée que lorsqu'elle apparait.
  • AliGatorAliGator Membre, Modérateur
    12:15 modifié #6
    Hein ? Heu comment ça "elle tourne quand même" ?

    Tu veux dire que tu as du code calculant tes trajectoires et tout dans la partie vue ?
    C'est loin d'être MVC ça, normalement t'as pas d'algo de rebonds à  implémenter dans ta vue.

    Ta vue ne peux pas "tourner" quand elle n'est pas dans la View Hierarchy, tout simplement parce que la seule chose qu'est sensée faire une vue, c'est savoir se dessiner et récupérer les user events (touch sur l'écran)... donc quand elle n'est pas affichée elle n'a rien à  faire (et encore moins quand elle n'est pas insérée dans la View Hierarchy !)

    Donc ça sent le pb de conception ça, tu veux bien nous en dire plus sur ta façon de faire ? Qu'entends-tu par "elle tourne toujours" ?
  • schlumschlum Membre
    12:15 modifié #7
    bingo  :P
    Oui, explique nous plus cet alien  :)
  • apocaalypsoapocaalypso Membre
    12:15 modifié #8
    dans 1239744764:

    bingo  :P
    Oui, explique nous plus cet alien  :)


    Lol, alors ce que je veux dire c'est que ma vu fait quand même bouger les boules, inverser leurs coordonnées au contact du bord, etc...
    Chose que je ne voudrais qu'elle fasse qu'au moment où la vue s'affiche.
  • schlumschlum Membre
    12:15 modifié #9
    Mais il ne faut créer les objets qu'au moment où tu en as besoin...  ???
    Et si tu veux les mettre en pause un moment, une i-var "paused", doit être suffisante...
  • apocaalypsoapocaalypso Membre
    12:15 modifié #10
    Qu'est une i-var "paused" ?
  • schlumschlum Membre
    12:15 modifié #11
    Une variable d'instance... i-var...
Connectez-vous ou Inscrivez-vous pour répondre.