Swift: Dessinez un Cercle autour d'un Label
Je suis en train de dessiner un cercle autour de l'étiquette lors de l'exécution dans un TableViewCell de la cellule.
Je peux comprendre comment obtenir à peu près autour de l'étiquette, mais je vais avoir quelques problèmes de centrage, c'est exactement autour de l'étiquette.
Le cercle semble être le dessin juste à la droite, et vers le milieu de l'étiquette.
Voici mon code pour l'instant, je suis sûr que ce sera facile pour quelqu'un pour bang.
func drawCircle() {
let x = countLabel.layer.position.x - (countLabel.frame.width)
let y = countLabel.layer.position.y - (countLabel.frame.height / 2)
let circlePath = UIBezierPath(roundedRect: CGRectMake(x, y, countLabel.frame.height, countLabel.frame.height), cornerRadius: countLabel.frame.height / 2).CGPath
let circleShape = CAShapeLayer()
circleShape.path = circlePath
circleShape.lineWidth = 3
circleShape.strokeColor = UIColor.whiteColor().CGColor
circleShape.fillColor = UIColor.clearColor().CGColor
self.layer.addSublayer(circleShape)
}
OriginalL'auteur Kristofer Doman | 2015-09-22
Vous devez vous connecter pour publier un commentaire.
La place, vous pouvez simplement utiliser le rayon de l'angle sur votre étiquette de couche. Vous faites l'étiquette carrée et définissez sa couche est le rayon de l'angle de la moitié de la largeur/hauteur de l'étiquette, ce qui va rendre parfaitement ronde. Vous définissez la largeur de la bordure à quelque chose de plus grand que zéro et la couleur de la bordure de la couleur de peinture que vous souhaitez utiliser.
Il ressemblera à quelque chose comme ceci:
Bien que le code complet pour qui va comme ceci dans une seule vue-contrôleur iPad projet de modèle:
OriginalL'auteur Matt Long
OriginalL'auteur Lengo
Pouah, c'était ce que je pensais, stupide erreur.
X et Y sont calculés à partir du milieu au lieu de partir du haut à gauche lorsque vous traitez avec BezierPath.
Donc le code pour x et y doivent être comme suit:
OriginalL'auteur Kristofer Doman
Essayez ceci:
Modifier rembourrage variable pour ajuster l'espacement entre l'étiquette et le cercle.
Cheers!
OriginalL'auteur Ishan Handa