9

文字列の一部のサイズを小さくしようとしており、以下のコードを使用しています。私の出力は正しくありません。指定した範囲ではなく、文字列全体に最初のフォント属性が使用されているだけです。

    NSMutableAttributedString *attString=[[NSMutableAttributedString alloc] initWithString:title];
    NSInteger _stringLength=[descriptionText length];
    [attString addAttribute:NSFontAttributeName
                      value:[UIFont fontWithName:@"Gotham-Bold" size:20.0]
                      range:NSMakeRange(0, 10)];
    [attString addAttribute:NSFontAttributeName
                      value:[UIFont fontWithName:@"Helvetica-Bold" size:12.0]
                      range:NSMakeRange(11, _stringLength-1)];
    [self.description setAttributedText:attString];
4

4 に答える 4

4

私の2セント;)Swift 3

func attributedTexts(text1: String, attribs1: [String : Any]?, text2: String, attribs2: [String : Any]?) {

    let str = NSMutableAttributedString(string: text1, attributes: attribs1);
    str.append(NSAttributedString(string: text2, attributes: attribs2))

    return str
}

使用法:

let attr1 = [NSFontAttributeName: UIFont.boldSystemFont(ofSize: 24)]
let attr2 = [NSFontAttributeName: UIFont.systemFont(ofSize: 16)]
let attributedString = self.attributedTexts(text1: "First Text", attribs1: attr1, text2: "\nSecond Text", attribs2: attr2)
于 2017-03-06T15:34:32.723 に答える
0

コードに問題はありません。存在しないフォント名を使用しようとしている可能性があります。poやNSLogなどでフォントが実際に存在することを確認しましたか?

attributedStringをログに記録した場合の出力は何ですか?

于 2013-01-15T06:38:55.723 に答える
0

このサイトとビデオを見てください。何か役に立つことがあるかもしれません。

リッチテキスト

于 2013-01-08T17:09:33.040 に答える