2017-03-17 1 views
2

J'utilise defined runtime attributes dans le bouton.Attributs d'exécution couleur de la bordure

layer.cornerRadius 
layer.masksToBounds 
layer.borderWidth 

Et je veux peindre ma frontière en couleur verte. Mais mon code ne fonctionne pas:

layer.borderUIColor 

Les bordures ont une couleur noire. Comment peindre des bordures en couleur avec des attributs d'exécution?

enter image description here

+0

êtes-vous sûr pour vous cette ligne de code? layer.borderUIColor est la propriété correcte pour la couleur de la bordure de calque? Peut-être que ce sera layer.borderColor. –

+0

Si j'utilise 'layer.borderColor' ma frontière a disparu –

+0

parce que de IB nous ne pouvons assigner UIColor, nous ne pouvons pas assigner CGColor. Vous devez avoir à le faire par programme. –

Répondre

1

En fait, vous utilisez mal attribut de, attribut correct est layer.borderColor. Mais encore une fois ça ne marchera pas car c'est du type de CGColor et de IB on ne peut qu'affecter UIColor, on ne peut pas assigner de CGColor.

Vous pouvez simplement le programmer.

Ou

Vous pouvez créer l'extension de type CGColor.

+0

Si j'utilise 'layer.borderColor' ma bordure a disparu –

+0

J'ai mis à jour ma réponse. Espérons, ça aide –

+0

Merci! C'est un travail pour moi. Ai-je besoin de sauvegarder ce 'layer.masksToBounds' ou de l'enlever? –

0

vous devez utiliser: layer.borderColor et définir layer.masksToBounds = false

-1

Cela fonctionnera à coup sûr.

Vous pouvez gérer cela à travers storyborad comme vous le faites mais vous passez la mauvaise clé ici. il devrait être

layer.borderColorFromUIColor