5 votes

Superposer une UIView à la fois sur une UINavigationBar et un UIViewController

Essentiellement, je veux afficher une notification juste sous le UINavigationController, couvrant la zone qui serait occupée par la vue la plus haute du UIViewController. Cependant, je souhaite que l'image d'arrière-plan s'étende vers le haut et couvre partiellement la UINavigationBar.

Le produit fini devrait ressembler à l'image ci-dessous. alt text

L'astuce réside dans le fait que je ne veux que cela s'applique à certaines vues avec la vue Hiérarchie, donc en attaquant le problème en utilisant [UIApplication keyWindow] n'est peut-être pas la meilleure idée. De plus, je suppose qu'en utilisant des vues en dehors de l'environnement privé de l'entreprise. UINavigationTransitionView ne fera pas partie de l'animation de transition de la vue, laissant ma vue au dessus du contrôleur en dessous lorsque celui-ci sera activé.

La vue du contrôleur de vue le plus haut n'aide pas non plus, car son cadre se termine à la base de l'élément UINavigationBar ce qui signifie que la flèche ne chevauchera pas le UINavigationBar

Des suggestions ?

Gracias

1voto

Ajay Sharma Points 4320

Puisqu'il semble que vous rencontriez le problème avec Navigation Bar uniquement car cela ne permettra pas de superposer la vue.

C'est une partie délicate.... Il suffit d'utiliser le Bouton de retour personnalisé qui place l'image au-dessus de lui à gauche du bouton de la barre de navigation

enter image description here

UINavigationBar *bar = [self.navigationController navigationBar];   
UIButton *btn;
btn = [[UIButton alloc] initWithFrame:CGRectMake(5, 2, 100, 48)];
[btn setImage:[UIImage imageNamed:@"left.png"] forState:UIControlStateNormal];
btn.backgroundColor = [UIColor clearColor];
[bar addSubview:btn];
[btn release];

Cela va sûrement vous aider et résoudre toutes vos questions sur le même sujet ..... enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X