Question

Comment puis-je mettre en gras et en italique sur UILabel de l'iPhone / iPad? Je cherchai le forum, mais rien ne m'a aidé. Pourrait aider quelqu'un me?

Était-ce utile?

La solution

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

Il y a une liste de noms de polices que vous pouvez mettre en place des « fontWithName » lien est

Autres conseils

Ne pas essayer de jouer avec les noms des polices. En utilisant le descripteur de police que vous avez besoin pas de nom:

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];

moyens de size:0 'garder la taille en l'état'

Swift essayer l'extension suivante:

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)
    }

}

Ensuite, vous pouvez l'utiliser de cette façon:

myLabel.font = myLabel.font.boldItalic()

ou même ajouter des caractéristiques supplémentaires comme condensé:

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

Mise à jour pour 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

Utilisez-le suit comme:

myLabel.font = myLabel.font.bold

ou

myLabel.font = myLabel.font.italic

ou

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

Swift 5

    func with(_ traits: UIFontDescriptor.SymbolicTraits...) -> UIFont {
        guard let descriptor = self.fontDescriptor.withSymbolicTraits(UIFontDescriptor.SymbolicTraits(traits).union(self.fontDescriptor.symbolicTraits)) else {
            return self
        }
        return UIFont(descriptor: descriptor, size: 0)
    }

    func without(_ traits: UIFontDescriptor.SymbolicTraits...) -> UIFont {
        guard let descriptor = self.fontDescriptor.withSymbolicTraits(self.fontDescriptor.symbolicTraits.subtracting(UIFontDescriptor.SymbolicTraits(traits))) else {
            return self
        }
        return UIFont(descriptor: descriptor, size: 0)
    }

@Edinator ont un regard sur ce ..

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

utilisez une des ci-dessus à un moment que vous voulez

Vous pouvez définir un style de police, la famille, la taille de l'étiquette, en cliquant sur la lettre "T" Police .

 paramètres de police label

J'ai la même question qui ont besoin d'appliquer à la fois gras et italique sur une étiquette et le bouton. Vous pouvez simplement utiliser le code ci-dessous pour obtenir cet effet:

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

Avec la police par défaut du système iOS 7, vous allez utiliser Helvetica neue gras si vous cherchez à garder la police par défaut du système.

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

Ou vous pouvez simplement l'appeler:

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

Swift 3

Gras:

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

Italique:

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

jeter un oeil à: cette URL

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

vous pouvez faire la police étiquette / bouton gras, en utilisant également cette

I a fait une variation de la réponse de Maksymilian wojakowski où vous pouvez ajouter ou supprimer un trait (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)
    }
}

exemple

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

utile lors de la réutilisation cellulaire et que vous voulez supprimer l'italique que vous mettez sur une étiquette dans une cellule précédente

J'ai écrit récemment un article de blog sur les restrictions de l'API UIFont et comment le résoudre. Vous pouvez le voir à ici

Avec le code que je fournis là, vous pouvez obtenir votre choix UIFont aussi facile que:

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

Et puis réglez-le sur votre UILabel (ou autre) avec: myLabel.font = myFont;

Comme il a été mentionné dans ces réponses, vous avez besoin juste le nom de la police droite . Je trouve que iOSFonts.com est la plus ressource utile pour savoir exactement ce que le nom à utiliser.

Exemple texte en gras:

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

Exemple texte en italique:

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

Ceci est très simple. Voici le code.

[yourLabel setFont:[UIFont boldSystemFontOfSize:15.0];

Cela vous aidera.

Mise à jour de réponse impressionnante Maksymilian Wojakowski 'pour rapidement 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)
}

}

Bien que la réponse fournie par @tolbard est incroyable et fonctionne bien!

Je me sens de créer une extension pour quelque chose qui peut être atteint en seulement une ligne de code, serait un mort de plus.

Vous pouvez obtenir gras et italique style pour le même texte dans votre label en créant la propriété de la police à l'aide UIFontDescriptor comme indiqué ci-dessous dans l'exemple ci-dessous en utilisant Swift 4.0 :

label.font = UIFont(descriptor: UIFontDescriptor().withSymbolicTraits([.traitBold, .traitItalic])!, size: 12)

D'autres options incluent:

traitLooseLeading
traitTightLeading
traitUIOptimized
traitVertical
traitMonoSpace
traitCondensed
traitExpanded

Pour plus d'informations sur ce que ces traits symboliques signifient? visite

Plusieurs fois le texte est considéré en gras d'une manière d'architecture de l'information à un autre niveau et donc pas et régulière en gras une ligne, de sorte que vous pouvez diviser deux étiquettes / textViews, un régulier et gras italique. Et utiliser l'éditeur pour choisir les styles de police.

Swift 5

  

Pour le style = BOLD

label.font = UIFont(name:"HelveticaNeue-Bold", size: 15.0)
  

Pour style = Moyen

label.font = UIFont(name:"HelveticaNeue-Medium", size: 15.0)
  

Pour style = mince

label.font = UIFont(name:"HelveticaNeue-Thin", size: 15.0)

Je veux juste mentionner que,

UIFont.systemFont(ofSize: 16, weight: UIFont.Weight.bold)
UIFont.boldSystemFont(ofSize: 16)

Ils ont des résultats différents ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top