2017-02-27 1 views
0

dummyString est mon contenu HTML stocké sous forme de chaîne. Ensuite, j'utilise,Augmenter la taille de la police de la chaîne HTML analysée - Objectif C

dummyString = [NSString stringWithFormat:@"<span style=\"font-family: HelveticaNeue-Thin; font-size: 18\">%@</span>", dummyString]; 

pour définir les attributs (18 est ma taille de police par défaut). Puis j'utilise la ligne de code suivante pour analyser le contenu HTML à présenter dans UIScrollView.

NSMutableAttributedString *dummy = [[NSMutableAttributedString alloc] 
           initWithData: [dummyString dataUsingEncoding:NSUnicodeStringEncoding] 
           options: @{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } 
           documentAttributes: nil 
           error: nil 
           ]; 

Si je change la taille de la police de défaut (18) à une autre taille (par exemple 36), la taille du texte n'augmente pas au lieu de l'espacement des lettres augmente. L'ajout des captures d'écran:

font-size == 18

font-size == 36

Je ne suis pas en mesure de comprendre où je fais mal!

+0

dummyString = [dummyString stringByAppendingString: @ ""]; – iOS

+0

où est-ce que vous chargez la chaîne html en mode web ou en mode texte –

+0

Chargement en textView –

Répondre

0

J'ai écrit ceci dans swift. Je supprime l'ancienne police et tgen en ajoutant la mienne dans toute la gamme.

let dummyString = NSString(format:"<span style=\"font-family: HelveticaNeue-Thin; font-size: 9\">hi this string</span>") 

    do{ 
     let attributedString = try NSMutableAttributedString.init(data:dummyString.data(using: String.Encoding.unicode.rawValue)!, options:[NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType], documentAttributes:nil) 

     attributedString.beginEditing() 
     attributedString.enumerateAttribute(NSFontAttributeName, in:NSMakeRange(0,attributedString.length), options: NSAttributedString.EnumerationOptions(rawValue: 0), using: { (vaue, range, stop) in 
      attributedString .removeAttribute(NSFontAttributeName, range:range) 
      // you can use any font 
      let newFont = UIFont.boldSystemFont(ofSize:25) 
      attributedString.addAttribute(NSFontAttributeName, value: newFont, range:range) 
     }) 
     attributedString.endEditing() 
    textView.attributedText = attributedString 
    }catch{ 
    } 
} 

espérons que cette aide :)

0
@implementation UILabel (HTML) 

- (void)jaq_setHTMLFromString:(NSString *)string { 

string = [string stringByAppendingString:[NSString stringWithFormat:@" <style>body{font-family: '%@'; font-size:%fpx;}</style>", 
              self.font.fontName, 
              self.font.pointSize]]; 
self.attributedText = [[NSAttributedString alloc] initWithData:[string dataUsingEncoding:NSUnicodeStringEncoding] 
                 options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, 
                   NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)} 
              documentAttributes:nil 
                 error:nil]; 
} 
+0

Même résultat! Pas de changement –