Je veux avoir une fine bordure grise autour d'un UITextView
. J'ai parcouru la documentation Apple mais je n'ai trouvé aucune propriété. Veuillez aider.
ios
quartz-core
Ali
la source
la source
self.myView.layer.borderWidth ...
, mais comme je l'ai dit, la couche est en lecture seule, donc la couche n'a aucune méthode ou variable à définirAjoutez ce qui suit pour les coins arrondis:
la source
Voici le code que j'ai utilisé, pour ajouter une bordure autour de mon
TextView
contrôle nommé "tbComments":Et voici à quoi cela ressemble:
Peasy facile.
la source
J'ajoute
UIImageView
comme sous-vue duUITextView
. Cela correspond à la bordure native sur aUITextField
, y compris le dégradé de haut en bas:Voici les images png que j'utilise et une représentation jpg:
@1 fois
À 2x
la source
code
resizableImageWithCapInsets: UIEdgeInsetsMake (28, 14, 28, 14)Fonctionne très bien, mais la couleur doit être a
CGColor
, pasUIColor
:la source
Je pense que les réponses ci-dessus concernent les versions précédentes de Swift. J'ai un peu googlé et le code ci-dessous fonctionne pour Swift 4. Il suffit de le partager pour qui en profite.
Bon codage!
la source
self.textViewName.layer.borderColor = UIColor.systemGray4.cgColor
pour la programmation Swift, utilisez ceci
la source
UIColor(white: 0.2, alpha: 1).CGColor
c'est aussi proche que possible d'un UITextField original
la source
vous pouvez ajouter une bordure à UITextView à partir du Storyboard - Identity Inspector - Attribut d'exécution défini par l'utilisateur
la source
Depuis iOS 8 et Xcode 6, je trouve maintenant que la meilleure solution est de sous-classer UITextView et de marquer la sous-classe comme IB_DESIGNABLE, ce qui vous permettra de visualiser la bordure dans le storyboard.
Entête:
La mise en oeuvre:
Ensuite, faites simplement glisser votre UITextView dans le storyboard et définissez sa classe sur BorderTextView
la source
La chose qui l'a fait fonctionner (en plus de suivre les réponses ici) est l'ajout de l'
borderStyle
attribut:la source
Juste un petit ajout. Si vous élargissez un peu la bordure, cela interférera avec les côtés gauche et droit du texte. Pour éviter cela, j'ai ajouté la ligne suivante:
la source
Dans Swift 3, vous pouvez utiliser les deux lignes suivantes:
la source
J'ai résolu ce problème dans le storyboard en mettant un complètement désactivé
UIButton
derrière leUITextView
et en faisant la couleur d'arrière-plan deUITextView
clearColor. Cela fonctionne sans nécessiter de code ou de packages supplémentaires.la source