7
votes

Boutons iOS 8 bordés Swift

Je veux un plat blanc bordé de mon uibutton . J'aimerais cela dans le storyboard ou par programme. Mon code ne fonctionne pas.

code: xxx


6 commentaires

Pouvez-vous élaborer sur "ne fonctionne pas"? Est-ce parce que vous essayez de définir des propriétés sur la classe UIBUTTON au lieu d'une instance de cette classe?


Uibutton.type n'a pas de membre nommé couche est l'erreur


Droite, le type UIBUTTON n'a pas les propriétés que vous essayez d'accéder. Vous avez besoin d'une instance de la classe.


Mais dans cette page Web La classe a été utilisée


Aussi j'ai importé Quartzcore


C'est vrai que ce sont des uibutton, mais ils sont des exemples de cette classe, pas la classe elle-même. Vous devez comprendre qu'il existe une différence entre une classe et une instance. Comprendre cela clarifiera le problème avec votre code.


6 Réponses :


16
votes

Vous devez créer une prise de référencement pour votre bouton de Storyboard à votre VC nommé par exemple MyButton que de définir ses propriétés

myButton.layer.cornerRadius = 2;
myButton.layer.borderWidth = 1;
myButton.layer.borderColor = UIColor.whiteColor().CGColor


0 commentaires

1
votes

comme 0x7fffffff a dit. UIBUTON est la classe, il peut être instaré à BU invoquant son constructeur comme celui-ci xxx pré>

alors vous pouvez définir les attributs souhaités: p>

instanceOfUIButton.layer.cornerRadius = 2;


0 commentaires

5
votes

Vous n'avez pas à le faire avec du code non plus. Vous pouvez créer une image extensible et la définir sur l'image d'arrière-plan du bouton de l'inspecteur des attributs.

Entrez la description de l'image ici


2 commentaires

Le lien n'est pas disponible


Merci, le lien a été supprimé



0
votes

en Xcode 8.2 (Swift 3) Vous pouvez utiliser "L'onglet Inspecteur d'identité". Recherchez les "Attributs d'exécution définis par les utilisateurs", après avoir sélectionné votre UIBUTTON. Là, vous pouvez définir ces attributs:

  1. Chemin de clé: couche.cornerradius; 2-Type: Numéro, 3-Valeur: 2
  2. Chemin de clé: couche.borderwidth; 2-Type: Number, 3-Valeur: 1
  3. Chemin de clé: couche.bordercolor; 2-Type: Couleur, 3-Valeur: "Sélectionnez Blanc ou un autre"

0 commentaires

0
votes

Une autre option au lieu de créer une référence à chaque bouton serait de créer une sous-classe du type Uibutton. Vous pouvez ensuite définir les propriétés dans la sous-classe. Ensuite, vous pouvez modifier la classe de tous les boutons du storyboard qui doivent avoir les mêmes propriétés. xxx


0 commentaires

0
votes

Ajouter cette ligne en haut

myButton.layer.masksToBounds = true


0 commentaires