1. ホーム
  2. ios

[解決済み] NSAttributedStringsを連結する方法を教えてください。

2022-04-23 04:37:23

質問

文字列をマージする前に、いくつかの文字列を検索し、いくつかの属性を設定する必要があり、NSStrings -> Concatenate them -> Make NSAttributedStringはオプションではありません。

解決方法は?

私は、@Linuxiosが提案した単一のミュータブル属性文字列を使用することをお勧めします、そして、ここにその別の例があります。

NSMutableAttributedString *mutableAttString = [[NSMutableAttributedString alloc] init];

NSString *plainString = // ...
NSDictionary *attributes = // ... a dictionary with your attributes.
NSAttributedString *newAttString = [[NSAttributedString alloc] initWithString:plainString attributes:attributes];

[mutableAttString appendAttributedString:newAttString];

しかし、すべての選択肢を出すために、入力文字列を含むフォーマットされたNSStringから作られた、単一の変更可能な属性文字列を作成することも可能です。その場合は addAttributes: range: を使用して、入力文字列を含む範囲に後から属性を追加することができます。しかし、私は前者の方法を推奨する。