ios - settitle - Cómo cambiar la fuente de UIButton con Swift
set title swift (13)
Estoy intentando 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?
La notación de puntos es asombrosa 👌
btn.titleLabel?.font = .systemFont(ofSize: 12)
De esta manera no funciona ahora:
btn.titleLabel?.font = UIFont(name: "Helvetica", size:12)
Esto funciona:
btn.titleLabel?.font = UIFont.init(name: "Helvetica", size:12)
De la documentation :
La fuente utilizada para mostrar el texto en el botón. ( Obsoleto en iOS 3.0 . En su lugar, use la propiedad de
font
deltitleLabel
).
Debería ir a través de la propiedad titleLabel
.
button.titleLabel.font
La propiedad de font
ha quedado obsoleta desde iOS 3.0.
Echa un vistazo here .
En su lugar, debe establecer la fuente del título Label del botón.
myButton.titleLabel!.font = UIFont(name: "...", 10)
Ejemplo: button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)
- Si desea utilizar una fuente predeterminada de su propia familia, use por ejemplo: "HelveticaNeue"
- Si desea especificar la fuente de la familia, use por ejemplo: "HelveticaNeue-Bold"
En Xamarin.iOS, puede escribir el código en C # de la siguiente manera:
myButton.TitleLabel.Font = UIFont.FromName ("Helvetica-Bold", 33f);
Esto funciona en Swift 3.0:
btn.titleLabel?.font = UIFont(name:"Times New Roman", size: 20)
No necesita obligar a desenvolver el titleLabel para configurarlo.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Como no está usando TitleLabel aquí, puede usarlo de manera opcional y si es nulo, será una operación no operativa.
También agregaré como otras personas dicen, la propiedad de fuente está en desuso, y asegúrese de usar setTitle:forControlState:
cuando configure el texto del título.
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.
Si configura AttributedString como UIButton, puede hacer lo siguiente.
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)
Si tiene problemas con el tamaño de la 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, el tamaño de mi fuente no cambiaba. Resulta que solicité 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 sí existe, los cambios a "size: x" sí se renderizaron.
Use titleLabel
en titleLabel
lugar. La propiedad de la font
se descuenta en iOS 3.0. Tampoco funciona en Objective-C. titleLabel
es una 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 usar setTitle:forControlState:
No use titleLabel
para establecer directamente el texto para el título.