Remarque: cela ne semble pas fonctionner pour moi (peut-être parce que je suis sur Swift 3.1?). La version de Paras Joshi ( stackoverflow.com/a/29701061/225813 ) a bien fonctionné
Ashley Coolman
J'ai édité ma réponse. il fonctionnera sûrement pour vous .. Ashley Coolman
Shashi Verma
1
Vous n'avez pas besoin d'appeler init explicitement dans swift 3.
ibrahimab
Est-il possible d'utiliser plus d'une couleur?
Gökhan Çokkeçeci
3
Y a-t-il une différence entre vos deux versions?
Fogmeister
88
Dans Swift 4, vous pouvez définir la couleur et la largeur de la bordure sur UIControls en utilisant le code ci-dessous.
@ShashiVerma vous êtes les bienvenus. Pour plus de détails sur les calques, lisez les différents documents de référence de classe d'objets d'Apple, ce qui vous sera également utile :)
Paras Joshi
16
Utilisez @IBDesignable et @IBInspectable pour faire de même.
Ils sont réutilisables, facilement modifiables à partir du constructeur d'interface et les changements sont immédiatement reflétés dans le storyboard
Conformez les objets du storyboard à la classe particulière
J'aime plus cette solution car c'est une solution réutilisable où nous définissons l'UIView sur la vue personnalisée mais laisse toujours la place à plus de changements.
n0rm
C'était ma façon préférée d'y parvenir, mais avec le mode sombre, cela ne fonctionne pas vraiment bien. Il obtient le style de couleur du MacOS actuel et utilise statique. Mais intégré @IBDesignableet @IBInspectabletout fonctionne bien, il devrait donc y avoir un moyen pour les douanes d'utiliser les ressources de couleur avec le mode sombre / clair également ~ n'importe qui sait comment y parvenir?
Développeur Nomad
12
Vous pouvez écrire une extension pour l'utiliser avec tous les UIViews, par exemple. UIButton, UILabel, UIImageView etc. Vous pouvez personnaliser ma méthode suivante selon vos besoins, mais je pense que cela fonctionnera bien pour vous.
D'une manière ou d'une autre, cela ne fait rien sauf si vous définissez explicitement la largeur de la bordure.
Nicolas Miari
@NicolasMiari qui serait attendu ... vous ne pouvez pas voir une couleur de bordure pour laquelle vous n'avez pas défini de taille.
Jono Guthrie
Désolé, j'ai oublié de mentionner que je faisais référence aux champs de texte ... qui semblent avoir une largeur de bordure par défaut non nulle depuis le début. Cependant, j'ai eu du mal à faire refléter la couleur que j'ai définie, jusqu'à ce que je définisse explicitement la largeur de la bordure.
Au lieu d'ajouter une nouvelle réponse, vous devez avoir envoyé une demande de modification
Rajan Maheshwari
@RajanMaheshwari S'il vous plaît non. N'ajoutez pas de code aux réponses des autres. Les mises à jour doivent être publiées comme les leurs, pas dans d'autres réponses. De cette façon, chaque affiche est responsable de ce qu'elle publie ...
Eric Aya
@EricAya il ne s'agit pas de mettre à jour la réponse. Il s'agit d'une demande de modification, peut-être dans les commentaires du répondant. Avez-vous ce que j'essayais de transmettre.
Réponses:
Si vous utilisez Swift 2.0+
la source
Dans Swift 4, vous pouvez définir la couleur et la largeur de la bordure sur UIControls en utilisant le code ci-dessous.
<Swift 4 , vous pouvez définir la largeur et la couleur de la bordure d'UIView à l'aide du code ci-dessous.
la source
Utilisez @IBDesignable et @IBInspectable pour faire de même.
Ils sont réutilisables, facilement modifiables à partir du constructeur d'interface et les changements sont immédiatement reflétés dans le storyboard
Conformez les objets du storyboard à la classe particulière
Extrait de code:
Permet une modification facile depuis Interface Builder:
la source
@IBDesignable
et@IBInspectable
tout fonctionne bien, il devrait donc y avoir un moyen pour les douanes d'utiliser les ressources de couleur avec le mode sombre / clair également ~ n'importe qui sait comment y parvenir?Vous pouvez écrire une extension pour l'utiliser avec tous les UIViews, par exemple. UIButton, UILabel, UIImageView etc. Vous pouvez personnaliser ma méthode suivante selon vos besoins, mais je pense que cela fonctionnera bien pour vous.
Usage:
la source
rapide 3
la source
Swift 5.2 , UIView + Extension
Vous avez utilisé cette extension;
la source
Écrivez le code dans votre
viewDidLoad()
Et vous pouvez définir
Color
avecRGB
En savoir quelque chose
CALayer
enUIKit
la source
Swift 3.0
la source
Nous pouvons créer une méthode pour cela. Utilisez-le simplement.
la source
Swift 3.0
la source