[RESOLU] UIButton superposer à la navigationBar

Bonjour à tous,

Je vous expose mon problème :

J’ai dans mon application un UIViewController qui gère la camera.
J’ai rendu la navigationBar et statusBar transparente.
Je souhaite gardé la navigationBar et j’ai un bouton custom plus gros que celle-ci qui vient normalement par dessus (je ne veux pas mettre le bouton dans la navigationBar) :

NavBar%20with%20Button

Or sur toute la hauteur de la navigationBar le touch ne prend pas, mais sur le reste du bouton ça fonctionne.
La navigationBar intercepte l’event du touch pour moi.

J’ai essaye le zPositon sur le layer mais ça ne marche pas.

Si quelqu’un à une idée je suis preneur,
Merci d’avance,

Damien

Hello Damien,

Je ne sais pas si c’est possible mais je n’ai encore jamais vu ça.
A ma connaissance la navigationBar est l’élément le plus haut dans les couches UI et il paraît difficile (voir impossible?) d’y ajouter un élément par dessus.
Je me base sur le fait que la vue principale du contrôleur va se glisser dessous quand tu swipe vers le haut. Elle est donc un level en dessous de la navigationBar.
Lorsque tu ajoutes un bouton il est ajouté en tant que subView à cette vue. Donc forcément il est aussi un level en dessous.

Pourquoi ne veux-tu pas le mettre en tant que barButtonItem ?

Seb.

Seb, déjà merci pour la réponse,
j’avoue que je m’en douté un peu mais j’avais de l’espoir :slight_smile:
Bref je voulais éviter d’avoir à modifier la hauteur de la NavigationBar pour que le Button reste à la taille que je voulais, mais comme tu l’as dis c’est peu probable que je puisse le faire.
Je pense que soit je fais un truc du style

navigationBar.layer.zPosition = -1

et je recrais les composant de la navigationBar soit je l’intègre en barButtonItem, je testerais les deux et je verrais ce qui m’arrange le plus.

En tout cas merci encore pour ta réponse.

Si quelqu’un à d’'autre idées je suis preneur.

Damien

Finalement, j’ai mis mon UIButton dans un UIBarButtonItem même si au niveau de la taille il y avait une petite différence, c’est à peine perceptible.

1 « J'aime »