UIView ne définit que les bordures latérales
Est-il un moyen de régler les côtés de la frontière, d'une UIView à une seule couleur et de laisser le haut et le bas de l'autre?
source d'informationauteur Mason | 2012-06-28
Vous devez vous connecter pour publier un commentaire.
Non—CALayer frontières ne supportent pas ce comportement. La meilleure façon d'accomplir ce que vous voulez, c'est l'ajout d'un n-point de l'échelle de l'opaque sous-vue avec votre choix à la frontière de la couleur comme couleur d'arrière-plan sur chaque côté de votre point de vue.
Exemple:
Noter que ce ne sera pas tout à fait correspondre le comportement de CALayer frontières gauche et droite de la bordure des points de vue toujours être à l'intérieur des frontières de leur superview.
La réponse avec le point de vue qui fonctionne comme les frontières sont très sympa, mais n'oubliez pas que chaque point de vue est un Objet d'INTERFACE utilisateur qui coûtent beaucoup de mémoire.
Je doit utiliser uivew de la couche de peinture d'un trait de couleur sur un déjà existant UIview.
et de l'ajouter à notre point de vue.
Donc... On prend un point et fait peindre une ligne de haut en bas de notre point de vue. Le résultat est qu'il ya une ligne qui ressemble à une largeur en pixels de la frontière.
Mis à jour pour Swift 3.0
J'ai écrit une rapide extension (pour un UIButton) qui simule la définition d'une frontière sur n'importe quel côté d'une UIView à une couleur donnée et la largeur. Il est similaire à @Noé Witherspoon, mais autonome et la mise en page automatique de la contrainte en fonction.
Cela sonne comme l'une des deux réponses:
Si votre vue est statique taille, puis il suffit de mettre une UIView derrière elle, qui est de 2 pixels de large et de 2 pixels plus courte que votre vue avant.
Si elle n'est pas statique de taille, alors vous pourriez faire la même chose, le redimensionnement de la sauvegarde de la vue à chaque fois que votre premier plan de la vue est redimensionnée, ou de mettre en œuvre un objet personnalisé qui met en œuvre une UIView, et à mettre en œuvre (override) votre propre drawRect routine.
NAUIViewWithBorders a fait le tour pour moi. Voir aussi le créateur du DONC postez ici. La peine de vérifier si vous avez besoin de cette fonctionnalité pour plus d'un couple de points de vue.