インスタンスメソッド


mergingAttributes(_:mergePolicy:)


属性付き文字列の属性を指定された属性コンテナ内の属性と合体することにより、属性付き文字列を返します。


iOS 15.0+ iPadOS 15.0+ macOS 12.0+ Mac Catalyst 15.0+

tvOS 15.0+ watchOS 8.0+ visionOS 1.0+ Xcode 13.0+

func mergingAttributes(
_ attributes: AttributeContainer,
mergePolicy: AttributeMergePolicy = .keepNew
) -> AttributedString





パラメータ


attributes

合体すべき属性を含む属性コンテナ。


mergePolicy

この文字列の属性と attributes 内の属性の間の競合を解決するときに使用するポリシー。



戻り値


ソース文字列と提供された属性から属性が合体された属性付き文字列。ソース文字列と attributes の両方に同じ属性が存在する場合、mergePolicy は返された文字列がどの値を使用するかを決定します。



議論


以下の例は、mergeAttributes(_:mergePolicy:) メソッドで作成された AttributedString を示しています。source 文字列には foreground (前景)と background (背景) の両方の NSColor のカラー属性が含まれていますが、targetAttributes 属性コンテナには様々な背景色の値が含まれています。mergePolicy keepNew の場合、target 文字列は元の source 文字列の値ではなく、targetAttributes の値を使用します。


  1. var sourceAttributes = AttributeContainer([
  2. .foregroundColor: NSColor.white,
  3. .backgroundColor: NSColor.green
  4. ])
  5. let source = AttributedString("AttributedString",
  6. attributes: sourceAttributes)
  7. let targetAttributes = AttributeContainer([
  8. .backgroundColor: NSColor.blue
  9. ])
  10. let target = source.mergingAttributes(targetAttributes,
  11. mergePolicy: .keepNew)


targetAttributes は別の前景色を提供しないため、target 文字列は source 文字列から値をコピーします。






以下も見よ


属性の適用と変更


func setAttributes(AttributeContainer)

属性付き文字列の属性を、指定された属性コンテナ内の属性に設定します。


func settingAttributes(AttributeContainer) -> AttributedString

属性付き文字列の属性を指定された属性コンテナ内の属性に設定することにより、属性付き文字列を返します。


func mergeAttributes(AttributeContainer, mergePolicy: AttributedString.AttributeMergePolicy)

属性付き文字列の属性を、指定された属性コンテナ内の属性と合体します。


enum AttributedString.AttributeMergePolicy

属性を合体するときに適用する動作の列挙。


func replaceAttributes(AttributeContainer, with: AttributeContainer)

1 つの属性コンテナ内の属性の出現を、別の属性コンテナ内の属性で置き換えます。


func replacingAttributes(AttributeContainer, with: AttributeContainer) -> AttributedString

1 つの属性コンテナ内の属性の出現を別の属性コンテナ内の属性で置き換えることにより、属性付き文字列を返します。


protocol AttributedStringAttributeMutation

属性付き文字列内の属性の、その場での変更を定義するプロトコル。















トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ