2009-05-20 6 views
21

Lorsque j'essaie d'envoyer une vue à l'arrière, elle masque certains des boutons et des étiquettes de mon contrôleur de vue. La vue que j'envoie à l'arrière est un UIImageView. Quelqu'un at-il une idée de ce qui pourrait être le problème?Envoyer la vue en arrière


Voici le code que je utilise:

UIImage *image = [UIImage imageNamed: @"background.jpg"]; 
UIImageView *backImage = [[UIImageView alloc] initWithImage: image]; 
[self.view addSubview: backImage]; 
[self.view sendSubviewToBack: backImage]; 

Puis, quand je suis à l'ajout de contrôles self.view, ils ne montrent pas toujours


J'ai réussi à ça roule en déplaçant mon code d'init à loadView. Je ne comprends pas pourquoi cela devrait faire la différence, mais bon ... ça marche!

+0

Pouvez-vous poster un exemple de code? – pgb

+0

pas tout à fait sûr de ce que vous voulez dire «envoyer à l'arrière» –

Répondre

17

Si vous utilisez le UIViewsendSubviewToBack: ou un message similaire, vous avez probablement vos boutons insérés dans la hiérarchie sous UIImageView. Lorsqu'une vue se déplace dans la hiérarchie, toutes ses sous-vues se déplacent avec elle.

Pour corriger cela, vous devez ajouter vos contrôles sous-vues de la même vue (éventuellement le UIWindow) vous avez ajouté le UIImageView à initialement.

Sans voir votre code, il est très difficile d'être plus précis.

0

D'accord. Vous n'êtes pas sûr de ce que vous entendez par "envoyer vers l'arrière" mais voici une estimation ...

Si vous ajustez la superposition dans votre vue principale, assurez-vous de ne pas envoyer une vue "vers l'arrière" (changer sa couche) qui a un nombre de sous-vues ... ou bien ils iraient tous à l'arrière (leur superposition changerait) en même temps.

Si ce n'est pas ce que vous vouliez dire, faites le moi savoir, et je supprimerai cette réponse.

1

En n'ayant pas besoin de l'ajouter par programme et d'ajuster les vues, il est beaucoup plus facile de les superposer dans le constructeur d'interface. Assurez-vous que la vue de l'image, si celle-ci est définie comme arrière-plan, est la première à être répertoriée.

Questions connexes