54 votes

Boutons iOS - ajouter une bordure

Je prépare mon application pour iOS7. J'ai fait la conversion et je travaillais avec un utilisateur. Le bouton dans l'application ne ressemble pas à un bouton. Il a l'air très plat. Y a-t-il un moyen de mettre une bordure ou de le faire tenir comme un bouton ?

109voto

Mehul Thakkar Points 1165

Essayez ceci pour ajouter une bordure, cela fonctionnera

#import <QuartzCore/QuartzCore.h>

alors dans viewDidLoad

_btn.layer.borderWidth=1.0f;
_btn.layer.borderColor=[[UIColor blackColor] CGColor];
_btn.layer.cornerRadius = 10;

Vous pouvez également remplir la couleur pour que le bouton apparaisse un peu comme un bouton, ou la meilleure façon est d'utiliser une image.

Outre BorderColor, vous pouvez également utiliser les attributs Runtime.

enter image description here

0 votes

Cela n'a pas fonctionné pour moi. J'essaie toujours d'obtenir une bordure sur un bouton UIB dans iOS 7 sans recourir à des images.

0 votes

Je ne sais pas pourquoi vous n'obtenez pas de frontière, cela fonctionne bien pour moi. Est-ce qu'il y a une erreur ou est-ce qu'il n'y a pas d'effet ?

0 votes

@Alyoshak Cela ajoute définitivement une bordure noire. Aly, avez-vous changé le _btn au nom de votre bouton ? De plus, ce n'est pas la meilleure solution si votre application est toujours disponible pour les anciennes versions d'IOS, car elle ajoute la bordure noire mais on voit toujours la bordure du bouton original :/ Les nouveaux boutons ne ressemblent pas du tout à des boutons. Même le texte est grisé. C'est vraiment horrible.

44voto

RIYAZ Points 2227

Essayez ceci, cela mettra la bordure sur le bouton

#import <QuartzCore/QuartzCore.h>

btn.layer.borderColor = [UIColor blackColor].CGColor;

btn.layer.borderWidth = 1.0;

btn.layer.cornerRadius = 10;

15voto

Nikola Kirev Points 2233

Les principes de conception d'iOS7 ont changé. Cependant, si vous voulez être plus plat, mais que vous voulez quand même un bouton personnalisé qui "se tient comme un bouton", vous pouvez essayer cette collection de composants open source :

FlatUIKit sur GitHub

0 votes

Existe-t-il un moyen de définir le bouton de retour par défaut à la même couleur que UIColor turquoiseColor ?

1 votes

Hmm Je crois que oui. Ajoutez le code suivant dans le fichier appDidFinishLaunching: méthode [[[UIBarButtonItem] appearance] setTintColor:<your colour of choice goes here>];

2voto

Chris Alan Points 880

Il y a deux façons de simplifier le bouton dans ios 7

1>Définir l'image : comme pour le bouton, en utilisant la propriété setImage du bouton.

2>Set bordercolor borderWidth :

bouton.layer.borderWidth=1.0f ;

button.layer.borderColor=[[UIColor blackColor] CGColor] ;

1voto

cat Points 726

Je vous suggère d'essayer l'une des bibliothèques iOS BootstrapButton (ou ses clones). Changez simplement UIButton dans le storyboard en BButton. Il n'y a tout simplement pas d'aperçu dans le storyboard.

0 votes

BButton est une alternative simple et efficace.

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