2009-06-28 8 views
82

d'interface constructeur d'interface, il y a des options mise en page pour envoyer à sauvegarder ou envoyer à l'avant des éléments tels que UIButton, UIImage, UILabel etc ...envoyer Programmatically à des éléments avant/arrière créés à partir de constructeur

Maintenant, je aimerait faire la même chose à l'exécution, par programmation.

Existe-t-il un moyen facile de faire cela?

Je ne souhaite pas créer de vues différentes, il suffit de mettre à jour l'axe z.

Répondre

186

Il existe un certain nombre de méthodes de UIView qui vous permettent de modifier la hiérarchie des vues.

sont déjà insérés

Étant donné que vos vues à votre aperçu, vous pouvez facilement appeler bringSubviewToFront: une fois pour chaque vue dans l'ordre que vous voulez.

+0

Voulez-vous dire que je ne peux pas envoyer directement un UIButton à l'avant/arrière? Je dois créer une vue et l'ajouter à cette vue. Ensuite, utilisez les méthodes ci-dessus? Si oui, la classe du contrôleur est-elle l'endroit où créer une telle vue? –

+11

Un UIButton est une sous-classe de UIView. Appelez simplement: [[myButton superview] bringSubviewToFront: myButton]; –

+1

Juste essayé, fonctionne comme un charme. Merci d'avoir répondu aussi vite. Bonne réponse. –

43

Vous pouvez utiliser:

[self.view bringSubviewToFront:myButton]; 
Questions connexes