1

J'ai créé une barre de navigation flexible dans mon application qui affiche les boutons personnalisés à gauche, à droite et au milieu. Jusqu'à présent, j'ai travailler:UIBarButtonItem au milieu de la barre de navigation?

  • Droite/Gauche/Moyen - Image personnalisée et/ou Texte
  • Droite/Gauche - bouton d'apparence normale avec image personnalisée en elle
  • Droite/Gauche - Normal bouton recherche avec du texte personnalisé

Par «apparence normale», j'entends par défaut le bouton UIBarButtonItemStyle, juste un joli bouton brillant.

Ma question est, comment puis-je obtenir le même aspect dans le milieu de la barre de navigation? Je peux faire des images personnalisées/texte en créant simplement un UIButton personnalisé, et sur la droite/gauche je crée un UIBarButtonItem à partir de celui-ci, mais au milieu je viens d'ajouter la vue UIButton comme une sous-vue de la barre de navigation.

Je ne peux pas ajouter un UIBarButtonItem à la barre de navigation en tant que sous-vue, et tout UIButton que je crée ne ressemble pas à un UIBarButtonItem.

La seule solution que je peux envisager est d'utiliser une image personnalisée extensible que je vole à partir d'une capture d'écran. Je préfère éviter de le faire de cette façon. Est-ce que je manque quelque chose?

*********** MISE À JOUR ************** La bibliothèque open source Three20 vous permettra de créer des UIButtons qui ressemblent à UIBarButtonItems. Vous pouvez ensuite les ajouter à la vue barre en les plaçant manuellement en tant que sous-vue ou en définissant la vue du titre.

Répondre

1

Je ne ai jamais compris pourquoi ils ne faisaient pas UIBarButtonItems dérivent de UIViews (ou mieux encore, UIButtons) afin qu'ils puissent être utilisés ailleurs.

On dirait que vous êtes sur la bonne voie, mais que vous avez besoin d'une meilleure illustration :-) Vous pouvez obtenir un grand nombre de composants iPhone dans un fichier Photoshop .PSD from here. Ils ont des boutons de barre pré-rendus que vous pouvez utiliser comme base pour une image UIButton standard. Si vous avez Photoshop (ou un programme de dessin décent), vous pouvez étirer les boutons du milieu pour s'adapter à votre taille sans déformer les coins. Ajoutez juste l'étiquette et vous devriez être bon pour aller.

+0

Merci. En passant, vous pouvez étirer l'image du milieu par programmation (recherche stretchableImage). Je pense aussi qu'il est très étrange qu'un UIBarButtonItem n'hérite pas d'UIButton. – Sam

+0

Vous pouvez également utiliser [ce projet GitHub] (https://github.com/0xced/UIKit-Artwork-Extractor) pour extraire toutes les images d'UIKit et d'autres frameworks, y compris les boutons extensibles/textfields et tout le reste – kervich

1

Mettre une région flexible à gauche et à droite, ils vont se compenser entre eux faisant quoi que ce soit à centrer

Questions connexes