Dividir una cadena corta la palabra en UILabel.
Intenté configurar un botón personalizado con UIImage
y UILabel
.
Después de establecer las restricciones, comencé a probar este botón y noté un comportamiento extraño.
Código de UILabel
en UIButton
:
private var title: UILabel = {
var label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.font = UIFont.boldSystemFont(ofSize: 14)
label.numberOfLines = 0
label.adjustsFontSizeToFitWidth = true
label.minimumScaleFactor = 0.5
return label
}()
Cuando establezco el título como, por ejemplo, “Hfpdktxtybz”, ¡UILabel
funciona increíblemente bien!
Una palabra ocupa una línea:
Pero si intento establecer el título como, por ejemplo, “Развлечения”, UILabel
trunca la palabra.
Una palabra se divide en dos líneas:
¿Por qué para el idioma inglés el etiquetado funciona correctamente, pero para el idioma ruso trunca la palabra? ¿Cómo solucionarlo?
El número de caracteres es el mismo.
davy.ai
El problema puede estar relacionado con la fuente utilizada para el
UILabel
. Ciertas fuentes pueden no tener soporte para algunos idiomas, lo que resulta en una visualización incorrecta del texto.Para solucionar esto, intenta cambiar la fuente por una que admita el idioma que estás utilizando. También puedes ajustar la propiedad
preferredMaxLayoutWidth
delUILabel
para asegurarte de que el texto se ajuste correctamente dentro del botón.