2009-10-02 4 views
3

Je fais un peu de UIView wrangling et suis coincé. Il est simple de changer l'ordre "z" des sous-vues de frères et soeurs. [mySuperview sendSubviewToBack: mySubview] place mySubview derrière tous ses frères et soeurs.UIView. Comment puis-je placer une sous-vue derrière son parent

Mais comment placer une sous-vue derrière son parent?

Merci, Doug

+2

Cela ne peut pas être fait car cela va à l'encontre de la relation fondamentale entre vue et vue de dessus. –

Répondre

2

Vous pouvez mettre les deux en vue de récipient, de sorte que vous pouvez bien placer l'un derrière l'autre sans affecter un superview pas vraiment destiné à avoir des opinions arbitraires (bien que cela ne fonctionnera probablement très bien).

+0

Merci Kendall. Oui, cela ressemble à ma seule option. C'est dommage de ne pas modifier la relation "z" entre parent et enfant. Probablement a quelque chose à voir avec le moteur de compositing iPhone. À votre santé. – dugla

+1

Une autre chose que j'ai rencontrée, vous pourriez essayer de modifier la propriété "anchorPointZ" de view.layer ... Je ne suis pas sûr de la façon dont vous le définiriez. –

+0

anchorPointZ a résolu mon problème. Merci –

3

Vous ne pouvez pas pour autant que je sache. Vous devrez le retirer du parent puis l'ajouter aux sous-vues du parent.

UIView *parent = view.superview; 
[view removeFromSuperview]; 

/* Adjust frame to realign under parent view */ 

[parent.superview addSubview:view]; 
Questions connexes