Comment puis-je supprimer le texte à partir de l'arrière du bouton sur la barre de navigation dans Xcode?
J'ai mis une flèche personnalisée à l'image de la barre de navigation en ajoutant le code suivant dans l'app délégué, il fonctionne, mais maintenant je cherche à supprimer le texte complètement pour le bouton de retour.
UIImage * backButtonImage = [UIImage imageNamed: @"BackButtonGrey.png"];
backButtonImage = [backButtonImage stretchableImageWithLeftCapWidth: 15.0 topCapHeight: 30.0];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage: backButtonImage forState: UIControlStateNormal barMetrics: UIBarMetricsDefault];
OriginalL'auteur ASH | 2013-05-11
Vous devez vous connecter pour publier un commentaire.
J'ai juste fait comme ça, a bien fonctionné pour moi 🙂
Vous pourriez sous-classe UIViewController, ajoutez le code et utiliser cette classe pour vos contrôleurs.
Maintenant il se bloque lorsque je utiliser votre modifier.
ce crash message?
thread 1: signal SIGABRT
OriginalL'auteur d4Rk
Il suffit de déplacer le texte verticalement, de sorte qu'il n'apparaît plus. Ceci peut être fait au lancement de l'app dans votre application délégué.
Normalement, cet appel est pour peaufiner le texte vertical position, qui peut varier en fonction de la police utilisée. Ici le texte est déplacé assez loin qu'il n'est plus à l'intérieur du bouton de Retour de vue, et donc est clipsé dans la non-existence.
Autant que je l'ai expérimenté ce n'est pas faire n'importe quoi avec le décalage de l'affichage actuel des contrôleurs de titre.
Ouais d'accord @Ronny-André Bendiksen - ce sera toujours provoquer des titres longs à obtenir décalage qui fait un peu bizarre
OriginalL'auteur Graham Perks
Je ne pense vraiment pas qu'est une bonne pratique pour un développeur pour ajuster le décalage du texte afin de le cacher.
Une solution plus propre serait de simplement ajouter de la manette de navigation bouton de retour d'un nouveau bouton d'où le titre est une chaîne vide. Vous devez ajouter ceci dans le précédent appel de-vue-contrôleur dans viewWillAppear (pas l'actuel):
C'est la meilleure réponse!
OriginalL'auteur CarmenA
Elle fonctionne. Merci
OriginalL'auteur MappleDev
N'utilisez pas l'apparence de proxy. Au lieu de cela, pour chaque - vue-contrôleur, placez ce code dans sa
viewDidLoad
mise en œuvre:Qui sera la cause de la prochaine - vue-contrôleur poussé sur la pile de navigation pour disposer d'un bouton de retour, composée de seulement l'image.
(Cependant, je dois souligner que
stretchableImageWithLeftCapWidth:...
est obsolète. Vous devriez être en utilisantresizableImage...
.)J'ai essayé à l'aide de votre code, mais je termine avec la même plaine bouton de retour et rien personnalisée
Lire ma réponse plus attentivement. Si vous avez ce code dans view controller, vous verrez que le bouton de retour pas en-vue-contrôleur du point de vue, mais en-vue-contrôleur B lorsqu'-vue-contrôleur B est poussé sur view controller d'A.
OriginalL'auteur matt
Pour définir un backbutton texte, vous avez défini un nouveau bouton retour pour le courant viewController avant de pousser ou de présentation puis de nouveau qui permettrait d'afficher le texte du bouton retour:
Dans votre viewController (pas le nouveau qui va montrer le dos-bouton):
Donc, si vous voulez supprimer le texte, il suffit d'utiliser
@""
comme un titre pour le nouveau bouton retour.Pour définir un backbutton icône pour toute l'application, utilisez le code suivant dans votre appDelegate classe. Pas chaque icône correspond parfaitement, donc si vous avez à déplacer un peu, vous pouvez utiliser le bouton "backInsets". Dans mon exemple, l'icône déplacer 2px vers le bas.
Testé avec iOS9
C'est la meilleure réponse, pourquoi pas upvote?
OriginalL'auteur Rikco
OriginalL'auteur Sagar Surani
Solution parfaite à l'échelle mondiale
OriginalL'auteur PeiweiChen