Savez-vous comment masquer le bouton «retour» dans un UINavigationController? Aussi, comment le montrer, mais je suppose que c'est très similaire à le cacher ...
Tout comme l'application de messagerie sur l'iPhone lorsque vous cliquez sur `` Modifier '' lors de la visualisation des e-mails.
ios
iphone
uinavigationcontroller
Zoran Simic
la source
la source
setHidesBackButton:
AVANT de pousser le navigationItem dans le navigationController.viewWillAppear:animated
de le cacher etviewWillDisappear:animated
de le restaurer.Ajouter ce code
la source
En plus de supprimer le bouton de retour (en utilisant les méthodes déjà recommandées), n'oubliez pas que l'utilisateur peut toujours `` revenir '' à l'écran précédent avec un geste de balayage de gauche à droite dans iOS 7 et versions ultérieures.
Pour désactiver cela (le cas échéant), implémentez ce qui suit (dans viewDidLoad par exemple):
la source
Juste pour clarifier les réponses existantes: la
hidesBackButton
propriété est la bonne réponse, mais il n'est pas clair dans de nombreuses réponses à quoi seself
réfère. Fondamentalement, vous devez définirself.navigationItem.hidesBackButton = YES
dans le contrôleur de vue qui est sur le point d'être poussé (ou qui vient d'être poussé) sur leUINavigationController
.En d'autres termes, disons que j'ai un
UINavigationController
nommyNavController
. Je veux mettre une nouvelle vue dessus, et quand je le fais, je ne veux plus que le bouton de retour s'affiche. Je pourrais faire quelque chose comme:Lorsque le code est terminé, la vue contrôlée par
newVC
doit maintenant être affichée et aucun bouton de retour ne doit être visible.la source
Pour masquer et afficher le bouton Retour de manière conditionnelle, vous pouvez utiliser le code suivant:
Remarque: dans certains cas, vous devez le mettre dans la méthode viewDidAppear au lieu de viewWillAppear, tels que: lorsque vous mettez à jour le tableau de la classe suivante dans la classe précédente, puis vérifiez la condition dans la classe suivante comme ci-dessus.
la source
Swift iOS (j'ai utilisé suivant)
la source
sethidesbackbutton n'a pas fonctionné pour moi pour une raison quelconque
J'ai utilisé de cette façon ->
la source
Utilisez toujours la documentation Apple pour les problèmes simples, ils sont plus simples et plus légers :)
Voici la syntaxe de Swift 3.0:
Référence
https://developer.apple.com/reference/uikit/uinavigationitem#//apple_ref/occ/instm/UINavigationItem/setHidesBackButton:animé:
la source
Dans mon cas, j'ai eu quelques problèmes avec les réponses actuelles:
La solution qui a finalement fonctionné pour moi est:
la source
La solution suggérée par Zoran Simic n'a pas fonctionné pour moi pour une raison quelconque.
Ce code a cependant fonctionné:
De toute évidence, vous devrez manipuler un NSArray à votre goût pour le faire fonctionner pour vous. J'espère que cela aide quelqu'un :)
la source
Dans ma sous-classe UIViewController, j'ai cette méthode:
la source
Cela masque le bouton de retour et le remplace par un bouton d'ajout dans Swift:
la source
Swift 3.
En règle générale, vous devez utiliser l'API per-ViewController d'Apple comme décrit plusieurs fois déjà sur cette page, mais vous avez parfois besoin d'un contrôle immédiat du bouton Retour.
Le code suivant masque le bouton Retour et garantit que la détection de collision de tap ne se produit pas dans la zone du bouton masqué.
la source
Cela cache le bouton de retour
la source