web-dev-qa-db-fra.com

UIButton avec couleur de bordure personnalisée, iPhone

Je veux créer un UIButton personnalisé avec une forme rectangulaire. Pour cela, j'utilise la vue rectangulaire comme arrière-plan pour UIButton et je crée une couleur d'arrière-plan pour UIbuttons comme clearcolor. Mais la bordure de UIbutton reste toujours. des suggestions sur la façon de faire disparaître la frontière? Merci d'avance pour toute aide..

14
alekhine

Essaye ça:

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button.layer setBorderColor:[[UIColor clearColor] CGColor]];

mais n'oubliez pas d'ajouter dans votre fichier .h ou .m

#import <QuartzCore/QuartzCore.h>
37
Prabh

J'ai perdu quelques minutes et j'ai été frustré par le fait que la frontière n'apparaissait pas alors que je définissais la propriété de couche comme suggéré ci-dessus.

Lorsque je règle la largeur de la manière suivante, je vois la bordure du bouton.

[[button layer] setBorderWidth:2.0f];
11
Madhav Sbss

Vous pouvez définir les propriétés de bordure de la couche CAL en accédant à la propriété layer du bouton.

Ajouter Quartz

#import <QuartzCore/QuartzCore.h>

Définir les propriétés du bouton:

[[myButton layer] setBorderWidth:2.0f];
[[myButton layer] setBorderColor:[UIColor AnyColor].CGColor];
1
Rajput V.K

Vous devez définir le type de votre UIButton sur Custom et non pas Rounded Rect (si vous créez un bouton avecIB).

Si vous créez UIButton par programme, utilisez ce code:

UIButton *but = [UIButton buttonWithType:UIButtonTypeCustom];

Et après cela, vous pouvez faire vos propres personnalisations.

0
Nekto
  button.layer.borderColor = UIColor.orangeColor().CGColor

Exemple rapide pour la bordure orange

0
Elazaron