Luego de investigar con especialistas en el tema, programadores de diversas áreas y profesores hemos dado con la respuesta al problema y la compartimos en esta publicación.
Solución:
¡Resolví el problema!
Para aquellos que enfrentan el mismo problema:
1- Haz una clase que se extienda desde UILabel:
UILabelPadding.swift:
class UILabelPadding: UILabel
let padding = UIEdgeInsets(top: 2, left: 8, bottom: 2, right: 8)
override func drawText(in rect: CGRect)
super.drawText(in: rect.inset(by: padding))
override var intrinsicContentSize : CGSize
let superContentSize = super.intrinsicContentSize
let width = superContentSize.width + padding.left + padding.right
let heigth = superContentSize.height + padding.top + padding.bottom
return CGSize(width: width, height: heigth)
2- Establezca el tipo de su etiqueta en UILabelPadding y asegúrese de que el tipo también esté configurado en el guión gráfico.
Uso una subclase de etiqueta que hace mucho de lo que describes. Se parece a esto:
class MyBoundedLabel: UILabel
override func drawText(in rect: CGRect)
let context = UIGraphicsGetCurrentContext()!
context.stroke(self.bounds.insetBy(dx: 1.0, dy: 1.0))
super.drawText(in: rect.insetBy(dx: 5.0, dy: 5.0))
Puede probar eso y luego mover los números y otros detalles para que se vean como usted quiere.
Tienes la opción de defender nuestra faena añadiendo un comentario o valorándolo te damos la bienvenida.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)