uikit ios
¿Cómo cambio el tamaño de fuente de una UILabel en Swift? (17)
label.font.pointSize
es de solo lectura, así que no estoy seguro de cómo cambiarlo.
Apple sigue cambiando las cosas sin ninguna razón: Swift 4+:
myLabel.font = UIFont.systemFont(ofSize: 16)
Gracias Apple por perder el tiempo de las personas para averiguar qué métodos de "tamaño de fuente" necesitan usar.
Creo que la mejor manera de hacerlo es si mantener la misma fuente que ya está asignada a UILabel
sería:
(usando Swift)
label.font = label.font.fontWithSize(20)
(usando Swift 3)
label.font = label.font.withSize(20)
Lo ideal sería establecer esto en el método viewDidLayoutSubviews
, ya que no es necesario cambiar cada vez que aparece la vista.
En Swift 3 de nuevo ...
myLabel.font = myLabel.font.withSize(18)
En Swift 3:
label = UIFont.systemFont(ofSize: 20)
y para usar los tamaños preestablecidos del sistema, por ejemplo:
label = UIFont.systemFont(ofSize: UIFont.smallSystemFontSize)
En swift3, suponga que su nombre de UILable es myLable y desea cambiar su tamaño de fuente haga esto
myLable.font = UIFont.systemFont(ofSize: 10)
Podemos establecer la fuente según nuestro requisito como,
label.font = UIFont(name: "Avenir-Light", size: 15.0)
label.font = UIFont.boldSystemFontOfSize(15)
label.font = UIFont.italicSystemFontOfSize(15)
label.font = UIFont.systemFontOfSize(17)
Puedes dar así también
labelName.font = UIFont(name: "systemFont", size: 30)
Puedes hacerlo así:
label.font = UIFont(name: label.font.fontName, size: 20)
O así:
label.font = label.font.fontWithSize(20)
Esto usará la misma fuente. 20 puede ser del tamaño que quieras, por supuesto.
Nota: La última opción sobrescribirá el peso de fuente actual a regular
por lo que si desea conservar el peso de fuente, use la primera opción.
Actualización de Swift 3 :
label.font = label.font.withSize(20)
Actualización de Swift 4 :
label.font = label.font.withSize(20)
o
label.font = UIFont(name:"fontname", size: 20.0)
y si usas las fuentes del sistema
label.font = UIFont.systemFont(ofSize: 20.0)
label.font = UIFont.boldSystemFont(ofSize: 20.0)
label.font = UIFont.italicSystemFont(ofSize: 20.0)
Puedes usar una extensión.
import UIKit
extension UILabel {
func sizeFont(_ size: CGFloat) {
self.font = self.font.withSize(size)
}
}
Para usarlo:
self.myLabel.fontSize(100)
Si solo quieres cambiar el tamaño de tu fuente, creo esta extensión.
// Add extension
extension UILabel {
func setSizeFont (sizeFont: Double) {
self.font = UIFont(name: self.font.fontName, size: sizeFont)!
self.sizeToFit()
}
}
// Use
myLabel.setSizeFont(60)
Swift 3.1
import UIKit
extension UILabel {
var fontSize: CGFloat {
get {
return self.font.pointSize
}
set {
self.font = UIFont(name: self.font.fontName, size: newValue)!
self.sizeToFit()
}
}
}
Utilicé fontWithSize
para una etiqueta con fuente de sistema light, pero vuelve a cambiar a la fuente normal del sistema.
Si desea mantener los rasgos de la fuente, mejor incluir los descriptores.
label.font = UIFont(descriptor: label.font.fontDescriptor(), size: 16.0)
SWIFT 3.1
Label.font = Label.font.withSize (NewValue)
Swift 3
label.font.withSize(16)
Swift-3.1
label.font = UIFont.systemFont (ofSize: 12)
label.font = UIFont.systemFontOfSize(20)