Estoy tratando de cambiar la fuente de un UIButton usando Swift ...
myButton.font = UIFont(name: "...", 10)
Sin embargo, .font
está en desuso y no estoy seguro de cómo cambiar la fuente de lo contrario.
¿Alguna sugerencia?
Estoy tratando de cambiar la fuente de un UIButton usando Swift ...
myButton.font = UIFont(name: "...", 10)
Sin embargo, .font
está en desuso y no estoy seguro de cómo cambiar la fuente de lo contrario.
¿Alguna sugerencia?
Respuestas:
Usar en su titleLabel
lugar. La font
propiedad está en desuso en iOS 3.0. Tampoco funciona en Objective-C. titleLabel
es la etiqueta utilizada para mostrar el título en UIButton
.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Sin embargo, al configurar el texto del título solo debe usarlo setTitle:forControlState:
. No lo use titleLabel
para configurar ningún texto para el título directamente.
titleLabel
es una propiedad opcional. Gracias anteriormente en beta no lo era.
myButton.titleLabel?.font = ...
funcionará ya que si titleLabel es nulo, será un no-op
Para Swift 3.0 :
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
donde "boldSystemFont" y "16" se pueden reemplazar con su fuente y tamaño personalizados.
btn.titleLabel?.font = .systemFont(ofSize: 12)
No es necesario forzar el desenvolvimiento de titleLabel para configurarlo.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Como no estás usando el título de etiqueta aquí, puedes usarlo opcionalmente y si es nulo, será un no-op.
También agregaré, como dicen otras personas, la propiedad de fuente está en desuso, y asegúrese de usarla setTitle:forControlState:
al configurar el texto del título.
De la documentación :
La fuente utilizada para mostrar texto en el botón. ( Desaprobado en iOS 3.0 . Utilice la
font
propiedad del en sutitleLabel
lugar).
Si tiene problemas de tamaño de fuente (su fuente no responde a los cambios de tamaño) ...
@codester tiene el código correcto:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
Sin embargo, mi tamaño de fuente no estaba cambiando. Resulta que pedí una fuente que no existía ("HelveticaNeue-Regular"). No estaba causando un bloqueo, pero parecía estar ignorando esa declaración de fuente debido a eso. Una vez que cambié la fuente a algo que existe, los cambios a "size: x" se renderizaron.
podemos usar diferentes tipos de fuentes del sistema como a continuación
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
myButton.titleLabel?.font = UIFont.italicSystemFont(ofSize:UIFont.smallSystemFontSize)
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: UIFont.buttonFontSize)
y tu fuente personalizada como abajo
myButton.titleLabel?.font = UIFont(name: "Helvetica", size:12)
Deberías pasar por la titleLabel
propiedad.
button.titleLabel.font
La font
propiedad ha quedado en desuso desde iOS 3.0.
Si está configurando AttributedString en el UIButton, puede hacer lo siguiente.
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)