1

NSAttributedString1 つのラベルだけに 2 を入れることは可能ですか?

例えば:

NSString *a =  [car valueForKey:@"name"];
NSString *b =  [car valueForKey:@"version"];

NSAttributedString *title;
    title = [[NSAttributedString alloc] initWithString:a attributes:@{ NSFontAttributeName : [UIFont fontWithName:@"Noteworthy-Bold" size:36], NSUnderlineStyleAttributeName : @1 , NSStrokeColorAttributeName : [UIColor blackColor]}]; //1

    NSAttributedString *title2;
    title2 = [[NSAttributedString alloc] initWithString:b attributes:@{ NSFontAttributeName : [UIFont fontWithName:@"Noteworthy-Bold" size:36], NSUnderlineStyleAttributeName : @0 , NSStrokeColorAttributeName : [UIColor blackColor]}]; //2

    cell.textLabel.attributedText = //what should I write here?
4

2 に答える 2

1

-appendAttributedString:(NSString *) メソッドを使用して、1 つの属性付き文字列を別の属性文字列に追加できます。両方の属性文字列を可変にすることができるため、1 つのラベルで 2 つの異なる文字列を区別するために区切り文字 (セミコロン、コンマ) を含めることもできます。

サンプルコードは次のとおりです。

NSMutableAttributedString *string1 = [[NSMutableAttributedString alloc] initWithString:@"Hello"];
        NSMutableAttributedString *string2 = [[NSMutableAttributedString alloc] initWithString:@"Hello 2"];
NSMutableAttributedString *semiStr = [[NSMutableAttributedString alloc] initWithString:@" ; "];
[string1 appendAttributedString:semiStr]; //separate string 1 and 2 by semi-colon        
[string1 appendAttributedString:string2];

textLabel.text = string1; //which string2 is now appended to

明らかに、属性付きの文字列には属性があります(質問で述べたように)。また、NSMutableAttributedString クラスに関する Apple のドキュメントをいつでも信頼して、次回使用する適切なメソッドを見つけることができます。

于 2013-07-21T16:00:33.687 に答える
0

を使用NSMutableAttributedStringして、2 つの属性付き文字列を一緒に追加するか、属性付き文字列を作成し、(ソース文字列に基づいて) 指定された範囲で属性を設定できます。

于 2013-07-21T15:47:05.593 に答える