objective-c iphone ipad uilabel uifont

objective c - ¿Cómo configuro negrita y cursiva en UILabel de iPhone/iPad?



objective-c uifont (15)

¿Cómo configuro negrita y cursiva en UILabel de iPhone / iPad? Busqué en el foro pero nada me ayudó. ¿Alguien podría ayudarme?


@Edinator echa un vistazo a esto ..

myLabel.font = [UIFont boldSystemFontOfSize:16.0f] myLabel.font = [UIFont italicSystemFontOfSize:16.0f];

use cualquiera de los anteriores a la hora que desee


Actualizando la asombrosa respuesta de Maksymilian Wojakowski para Swift 3

extension UIFont { func withTraits(traits:UIFontDescriptorSymbolicTraits...) -> UIFont? { guard let descriptorL = self.fontDescriptor.withSymbolicTraits(UIFontDescriptorSymbolicTraits(traits)) else{ return nil } return UIFont(descriptor: descriptorL, size: 0) } func boldItalic() -> UIFont? { return withTraits(traits: .traitBold, .traitItalic) }

}


Como ya se mencionó en estas respuestas, solo necesita el nombre correcto de la fuente . Me parece que iOSFonts.com es el recurso más útil para saber exactamente qué nombre usar.


Con la fuente predeterminada del sistema iOS 7, utilizará helvetica neue bold si desea mantener la fuente predeterminada del sistema.

[titleText setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:16.0]];

O simplemente puede llamarlo:

[titleText setFont:[UIFont boldSystemFontOfSize:16.0]];



Ejemplo de texto en negrita:

UILabel *titleBold = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 200, 30)]; UIFont* myBoldFont = [UIFont boldSystemFontOfSize:[UIFont systemFontSize]]; [titleBold setFont:myBoldFont];

Ejemplo de texto cursivo:

UILabel *subTitleItalic = [[UILabel alloc] initWithFrame:CGRectMake(10, 35, 200, 30)]; UIFont* myItalicFont = [UIFont italicSystemFontOfSize:[UIFont systemFontSize]]; [subTitleItalic setFont:myItalicFont];


Esto es muy simple. Aquí está el código.

[yourLabel setFont:[UIFont boldSystemFontOfSize:15.0];

Esto te ayudara.


Hace poco escribí una publicación de blog sobre las restricciones de la API de UIFont y cómo resolverla. Puedes verlo here

Con el código que proporciono allí, puede obtener su UIFont deseado tan fácil como:

UIFont *myFont = [FontResolver fontWithDescription:@"font-family: Helvetica; font-weight: bold; font-style: italic;"];

Y luego configúrelo en su UILabel (o lo que sea) con: myLabel.font = myFont;


Hice una variación de la respuesta de wojakowski maksymilian donde puedes agregar o eliminar un rasgo (s)

extension UIFont { func withTraits(_ traits:UIFontDescriptorSymbolicTraits...) -> UIFont { let descriptor = self.fontDescriptor .withSymbolicTraits(UIFontDescriptorSymbolicTraits(traits).union(self.fontDescriptor.symbolicTraits)) return UIFont(descriptor: descriptor!, size: 0) } func withoutTraits(_ traits:UIFontDescriptorSymbolicTraits...) -> UIFont { let descriptor = self.fontDescriptor .withSymbolicTraits( self.fontDescriptor.symbolicTraits.subtracting(UIFontDescriptorSymbolicTraits(traits))) return UIFont(descriptor: descriptor!, size: 0) } func bold() -> UIFont { return withTraits( .traitBold) } func italic() -> UIFont { return withTraits(.traitItalic) } func noItalic() -> UIFont { return withoutTraits(.traitItalic) } func noBold() -> UIFont { return withoutTraits(.traitBold) } }

ejemplo

label.font = label.font.italic().bold()

es útil al reutilizar la celda y desea eliminar la cursiva que coloca en una etiqueta en una celda anterior


No intentes jugar con los nombres de las fuentes. Usando el descriptor de fuente no necesitas nombres:

UILabel * label = [[UILabel alloc] init]; // use your label object instead of this UIFontDescriptor * fontD = [label.font.fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold | UIFontDescriptorTraitItalic]; label.font = [UIFont fontWithDescriptor:fontD size:0];

size:0 significa ''mantener el tamaño como está''

Con Swift prueba la siguiente extensión:

extension UIFont { func withTraits(traits:UIFontDescriptorSymbolicTraits...) -> UIFont { let descriptor = self.fontDescriptor() .fontDescriptorWithSymbolicTraits(UIFontDescriptorSymbolicTraits(traits)) return UIFont(descriptor: descriptor, size: 0) } func boldItalic() -> UIFont { return withTraits(.TraitBold, .TraitItalic) } }

Entonces puedes usarlo de esta manera:

myLabel.font = myLabel.font.boldItalic()

o incluso agregar rasgos adicionales como condensado:

myLabel.font = myLabel.font.withTraits(.TraitCondensed, .TraitBold, .TraitItalic)

Actualización para Swift 4:

extension UIFont { var bold: UIFont { return with(traits: .traitBold) } // bold var italic: UIFont { return with(traits: .traitItalic) } // italic var boldItalic: UIFont { return with(traits: [.traitBold, .traitItalic]) } // boldItalic func with(traits: UIFontDescriptorSymbolicTraits) -> UIFont { guard let descriptor = self.fontDescriptor.withSymbolicTraits(traits) else { return self } // guard return UIFont(descriptor: descriptor, size: 0) } // with(traits:) } // extension

Úselo de la siguiente manera:

myLabel.font = myLabel.font.bold

o

myLabel.font = myLabel.font.italic

o

myLabel.font = myLabel.font.with(traits: [ .traitBold, .traitCondensed ])


Puede establecer cualquier estilo de fuente, familia, tamaño para la etiqueta, haciendo clic en la letra "T" en el campo Fuente .


Tengo el mismo problema que necesito aplicar tanto negrita como cursiva en una etiqueta y un botón. Simplemente puede usar el siguiente código para lograr este efecto:

myLabel.font = [UIFont fontWithName:@"Arial-BoldItalic" size:30.0];


Swift 3

Negrita:

let bondFont = UIFont.boldSystemFont(ofSize:UIFont.labelFontSize)

Itálico:

let italicFont = UIFont.italicSystemFont(ofSize:UIFont.labelFontSize)


btn.titleLabel.font=[UIFont fontWithName:@"Helvetica neue" size:10]; btn.titleLabel.font = [UIFont boldSystemFontOfSize:btnPrev.titleLabel.font.pointSize+3];

usted puede hacer la fuente negrita de la etiqueta / botón también usando esto


sectionLabel.font = [UIFont fontWithName:@"TrebuchetMS-Bold" size:18];

Hay una lista de nombres de fuentes que puede establecer en lugar del atributo ''fontWithName''. El enlace está aquí texto de enlace