UIViewController: set de soi.vue de mon point de vue ou d'ajouter mon point de vue sous-vue?
J'ai une question à propos de UIViewController de la sous-vue, j'ai créé une sous-classe UIView MainView, qui a la taille exacte de l'écran, je me demande ce qui est une meilleure façon d'ajouter de la MainView, tenir compte des facteurs suivants:
1 Comme MainView a la même taille que la totalité de l'écran, la MainView lui-même peut avoir des sous-vues, mais il n'y a pas de points de vue à enregistrer le niveau de MainView(c'est à dire je n'ai pas besoin d'ajouter d'autres sous-vues de soi.la vue).
2 Si j'utilise l'auto.view = mainView, dois-je mettre le code dans loadView(comme la méthode viewDidLoad signifie la vue(de soi.vue) est déjà chargé)? Je vois la méthode loadView est commenté par défaut, si j'ajoute le code de cette méthode, quel code dois-je mettre ensemble(par exemple initialiser d'autres aspects de l'application)?
3 Si j'ajoute mainView via [auto addSubview:mainView], il y a en fait deux hors de l'écran tampon? Un pour soi.la vue, l'un pour mainView, les deux a la même taille que l'écran et l'autre est en couches sur le dessus de l'autre(afin de déchets de mémoire)?
Merci beaucoup!
OriginalL'auteur | 2009-09-15
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr que je comprends parfaitement ce que vous demandez, mais je vais essayer de répondre à quelques-unes des questions que vous avez.
Tout d'abord, si vous disposez de plusieurs UIViews sur l'écran, ils sont tous chargés en mémoire. Que vous avez à faire -removeFromSuperview et de décharge pour obtenir le secours de la mémoire.
Vous pouvez affecter votre UIView comme le UIViewController. Par exemple:
dans ce cas, vous avez la vue d'initialisation du code dans la méthode init. Juste de la redéfinir comme:
OriginalL'auteur Dimitris
J'avais résoudre tout en le faisant dans un xib! Si vous créez une UIView dans votre xib, vous pouvez alors changer de classe (lorsque vous sélectionnez le UIView il devrait y avoir une zone de texte de la Classe de l'Identité de la section de l'Identité de l'inspecteur* - type "de la MainView' ici!)
Ensuite, créez votre vue-contrôleur en appelant
Qui devrait résoudre vos problèmes; c'est le principal sous-vue de votre vue-contrôleur (directement accessible à partir de l'auto.la vue) et vous n'avez pas besoin de s'inquiéter à propos de l'utilisation de la mémoire, il n'y a qu'un point de vue 🙂
Sam
NB * Cliquez sur outils -> l'Identité de l'Inspecteur. Je ne sais pas, il a été appelé jusqu'à ce que j'avais à écrire cette réponse!
OriginalL'auteur deanWombourne
Vous devez mettre en œuvre
loadView
si vous n'initialisez votre vue-contrôleur avec une PLUME.UIViewController prend soin de dimensionnement de ses "principaux" afficher correctement. C'est tout ce que vous devez faire:
OriginalL'auteur Darren
Oui, le premier code-extrait de code ci-dessus est la "norme" de la démarche, autant que je sache, lorsque vous n'utilisez pas (mal!) PLUME fichiers, c'est à dire quand alloc avec votre point de vue dans le code, via loadView.
Remarque il semble que l'on peut aussi s'en sortir avec la suivante, au lieu de coder en dur l'écran-rect taille:
Remarque vous certainement veux faire de la [mavue de presse] appel depuis, en effet, comme souligné ci-dessus, auto.vue (pour UIView) est un conservé propriété.
Acclamations, -dk
OriginalL'auteur sfjava
Peut-être la chose la plus importante à faire est de vous assurer que vous avez les éléments suivants:
Alors qu'il pourrait ne pas être requis de tous les temps, il résout le problème où l'auto.la vue est insensible. Ce problème apparaît de temps en temps.
OriginalL'auteur Nate Symer