2017-02-27 2 views
0

dummyStringは、私のHTMLコンテンツを文字列として保存します。次に、属性(18は私のデフォルトのフォントサイズ)を設定するには、HTML解析文字列のフォントサイズを大きくする - 目的C

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

を使用しています。

次に、次のコード行を使用して、HTMLコンテンツを解析してUIScrollViewに表示します。私はいくつかの他のサイズをデフォルト(18)からフォントサイズを変更する場合は

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

(たとえば36)は、テキストの大きさではなく、文字の増加の間隔を増加させません。スクリーンショットを追加:

font-size == 18

font-size == 36

私は私が間違っているのかを理解することはできませんよ!

+0

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

+0

ウェブビューまたはテキストビューでhtml文字列をどこにロードしていますか? –

+0

TextViewで読み込んでいます –

答えて

0

私はこれを迅速に書いています。私は古いフォントとtgenを削除して、全範囲で自分自身を追加しています。

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

希望このことができます:)

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

同じ結果です!変化なし –