Comment faire pour que view remplisse superview
Hello !
J'ai deux VC :
" MainVC. Dans son xib, il y a un custom view, disons qu'elle pointe vers l'IBOutlet customView
" SubVC
Voilà ce que je fais dans le code de MainVC :
- (void)viewDidLoad
{
[super viewDidLoad] ;
SubVC * subVC = [SubVC new] ; // admettons qu'il soit retain qqpart
[self.customView addSubview:subVC.view] ;
}
J'aimerais que la vue de SubVC s'adapte automatiquement à la taille de customView.
Y a-t-il un moyen simple de faire ça ?
Merci !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
En plus, il faut gérer les viewControllers (parent/enfant)
Je me demandais s'il n'y avait des méthodes plus simples (comment faisait-on avant mes contraintes).
Pour avoir déjà utilisé cette méthode, son inconvénient est de générer parfois des conflits de contraintes (c'est mon expérience en tout cas)
@joanna : je m'en suis sorti jusque là sans avoir jamais utilisé cette notion de child/parent. De même, je n'ai jamais utilisé les storyboards ! Il faudra que j'essaie un jour. ça ne m'attire pas du tout....
1) Avant les contraintes, c'était la grosse galère. Donc on faisait pas
2) Si tu as des conflits de contraintes c'est pas à cause de ça, c'est que ton organisation des contraintes dans une de tes vues n'est pas cohérente
3) Joanna a raison, si chacune des vues sont gérées par leur propre ViewControlleur, il faut ajouter le ViewController fils en tant que childViewController du ViewController parent. Sinon tu perds la logique de hiérarchie des ViewControllers (et c'est pas juste pour faire joli, c'est aussi utilisé dans la chaine des responders et des choses comme ça)
Pendant mon dernier projet, j'ai construit un segue sur mesure pour changer d'un "child" viewController à l'autre. Ce code démontre ce qu'il faut en termes du transfert :
Perso, j'utilise Interface Builder, aussi les UIView "filles" sont les IBOutlets de la "mère". Cela m'a toujours semblé plus simple.
(1) que le ViewController de la vue fille, si elle en a un, sera mis en "child" du ViewController de la vue mère. Pour cela dans IB il y a plutôt les Segues de type "Content Segue".
(2) que la vue fille aura toujours la même taille que la vue mère... à moins bien sûr que tu mettes les contraintes qu'il faut dans IB justement