J'ai vraiment un grand souhait de définir ma propre couleur sur la bordure UITextField. Mais jusqu'à présent, j'ai pu découvrir comment changer le style de la ligne de bordure uniquement.
J'ai utilisé la propriété background pour définir la couleur d'arrière-plan de cette manière:
self.textField.backgroundColor = textFieldColor;
Mais je dois aussi changer la couleur de la bordure UITextField. Et ma question portait sur la façon de changer la couleur de la bordure.
Réponses:
Importez le
QuartzCore
framework dans votre classe:et pour changer la couleur de la bordure, utilisez l'extrait de code suivant (je le règle sur redColor),
Pour revenir à la disposition d'origine, définissez simplement la couleur de la bordure sur la couleur claire
en code swift
la source
viewDidLoad
) et modifiez ces propriétés en disantself.myTextField.layer.cornerRadius
etc. Ces changements prendront effet dès que vous lancerez votre application, mais vous ne pouvez pas voir les changements dans le storyboard. Si cela n'a aucun sens pour vous, je vous suggère d'aller sur un site Web, par exemple Ray Wenderlich, et de lire quelques tutoriels pour débutants.Essaye ça:
et importez QuartzCore:
la source
Importez la classe suivante:
// Code pour définir la couleur grise de la bordure du champ de texte
Remplacez-le
171.0
par le numéro de couleur correspondant si nécessaire.la source
cette question apparaît assez haut sur une recherche Google et a fonctionné pour la plupart! J'ai trouvé que la réponse de Salman Zaidi était partiellement correcte pour iOS 7.
Vous devez apporter une modification au code de «retour». J'ai trouvé que ce qui suit pour revenir fonctionnait parfaitement:
Je comprends que cela est probablement dû à des changements dans iOS 7.
la source
Pour simplifier ces actions à partir de la réponse acceptée, vous pouvez également créer une catégorie pour
UIView
(puisque cela fonctionne pour toutes les sous-classes de UIView, pas seulement pour les champs de texte:UIView + Additions.h:
UIView + Additions.m:
Usage:
la source
Si vous utilisez un TextField avec des coins arrondis, utilisez ce code:
Pour supprimer la bordure:
la source
Mise à jour pour Swift 5.0
la source
borderColor sur n'importe quelle vue (ou sous-classe UIView) peut également être définie à l'aide du storyboard avec un peu de codage et cette approche peut être très pratique si vous définissez la couleur de la bordure sur plusieurs objets d'interface utilisateur.
Voici les étapes pour y parvenir,
PS: rappelez-vous, les catégories ne peuvent pas avoir de propriétés stockées. 'borderUIColor' est utilisé comme une propriété calculée, juste comme une référence pour réaliser ce sur quoi nous nous concentrons.
Veuillez consulter l'exemple de code ci-dessous;
Objectif c:
Fichier d'interface:
Fichier d'implémentation:
Swift 2.0:
Et enfin allez sur votre storyboard / XIB, suivez les étapes restantes;
Vous devez définir la valeur de la propriété layer.borderWidth sur au moins 1 pour voir la couleur de la bordure.
Construisez et exécutez. Codage heureux. :)
la source
Voici une implémentation Swift. Vous pouvez créer une extension pour qu'elle soit utilisable par d'autres vues si vous le souhaitez.
Appelez cela comme:
email.addBorderAndColor(color: UIColor.white, width: 0.5, corner_radius: 5, clipsToBounds: true)
.la source