例えば、 NSAttributed文字列を持つように、文字列と属性を分離する必要があるので、同じ長さの他の文字列でこれらの属性を使用してください。NSAttributed Stringから属性を分離し、これらの属性を他の文字列に適用する方法はありますか?
2
A
答えて
1
NSAttributedStringは、文字列の範囲によって異なる属性を持つことがあります。
これらの属性を抽出するには、enumerateAttributesInRange
メソッドを使用できます。
我々は、結果を保持するためのタプルの配列を準備:
var extractedAttributes = [(attributes: [String:AnyObject], range: NSRange)]()
各タプルはNSAttributedStringで特定の範囲の属性を保持します。
今、私たちはNSAttributedStringに反復処理し、結果を配列に移入:
attributedString.enumerateAttributesInRange(NSRange(location: 0, length: attributedString.length), options: NSAttributedStringEnumerationOptions(rawValue: 0)) { (dict, range, stopEnumerating) in
extractedAttributes.append((attributes: dict, range: range))
}
配列が移入されたら、内容にアクセスすることができます
for item in extractedAttributes {
print(item.attributes)
print(item.range)
}
そして、そこからあなたはすべて持っていますこれらの属性を持つ新しい属性付き文字列を作成する必要があります。つまり、NSAttributedString内にそれぞれの範囲と対応する属性があります。
0
あなたが範囲に適用されるすべての属性を受け取ることになりますNSAttributedStringでこのメソッドを呼び出すことによりNSAttributedString
attributesAtIndex(location: Int, effectiveRange range: NSRangePointer) -> [String : AnyObject]
から、この方法を見てみる必要があります。すべての文字列を範囲として指定するだけです。そして、これらの属性で新しい属性文字列を作成します。
関連する問題
- 1. 他のカスタム属性からカスタム属性のバインディングにアクセスする
- 2. 属性ディレクティブから他の属性ディレクティブにアクセスする
- 3. html属性で文字列を連結する方法はありますか?
- 4. img src属性から文字列を抽出しますか?
- 5. 文字列からスタイル属性を削除します。
- 6. 文字列配列からname属性を抽出する方法は?
- 7. Railsの他のコントローラから属性を取得する方法
- 8. 他のクラスからCLLocationManagerの属性を設定する方法
- 9. 属性の文字列を返す、オブジェクトの属性を返す
- 10. 他の属性のコード内からの属性のテスト
- 11. Swift 3:文字列の一部に属性を適用する方法
- 12. 文字列をdiv属性からオブジェクトに変換する方法
- 13. bs4/beautifulSoupの属性を分離する
- 14. Annotation.toString()は文字列属性から二重引用符を省略します
- 15. 複数の属性検索の条件から、検索文字列/クエリ属性を削除します。
- 16. anglejs属性から文字列を生成する
- 17. テキスト文字列から属性を取得する
- 18. ショートコード文字列から属性を取得するJavascript
- 19. Route属性を使用してWeb APIでクエリ文字列をバインドする方法はありますか?
- 20. AssemblyInfo.csから属性をオーバーライドする方法はありますか(例:AssemblyVersionAttribute)
- 21. iPhone:NSObjectの属性をループする方法はありますか?
- 22. 文字列を2つの新しい属性に分割する方法
- 23. 他の属性で始まらない属性のXPathクエリ
- 24. これらのフォーム属性は何を意味しますか?
- 25. イメージタグからwidth属性とheight属性を取得する方法は?
- 26. データ属性から文字列をデコードしないdecodeURIComponent
- 27. .josn属性値を文字列に変換する方法は?
- 28. iframeから外部タグ属性の属性を取得する方法
- 29. ローカライズされた文字列をTargetNullValue属性にバインドする方法はありますか?
- 30. XML属性から余分なデータを削除する方法
予想される入力と期待される出力の例を挙げてください。 –