<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: 13.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 6.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIImage/SymbolConfiguration-swift.class",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIImageSymbolConfiguration"
  },
  "title" : "UIImage.SymbolConfiguration"
}
-->

# UIImage.SymbolConfiguration

An object that contains the specific font, size, style, and weight attributes to apply to a symbol image.

```
class SymbolConfiguration
```

## Overview

Symbol image configuration objects include details such as the point size, scale, text style, weight, and font to apply to your symbol image. The system uses these details to determine which variant of the image to use and how to scale or style the image.

[`UIImage.SymbolConfiguration`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class) objects are immutable after you create them. If you use the [`applying(_:)`](/documentation/UIKit/UIImage/Configuration-swift.class/applying(_:)) method on the object, the new image attributes replace any previous attributes you supplied. After creating a symbol configuration object, assign it to the [`preferredSymbolConfiguration`](/documentation/UIKit/UIImageView/preferredSymbolConfiguration) property of the [`UIImageView`](/documentation/UIKit/UIImageView) object you use to display the image. If you draw the image directly, use the [`withConfiguration(_:)`](/documentation/UIKit/UIImage/withConfiguration(_:)) method to create a new image that contains the new attributes.

## Topics

### Creating a symbol configuration

[`+  configurationWithPointSize:`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/init(pointSize:))

Creates a configuration object with the specified point-size information.

[`+  configurationWithPointSize:weight:`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/init(pointSize:weight:))

Creates a configuration object with the specified point-size and weight information.

[`+  configurationWithPointSize:weight:scale:`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/init(pointSize:weight:scale:))

Creates a configuration object with the specified point-size, weight, and scale information.

[`+  configurationWithScale:`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/init(scale:))

Creates a configuration object with the specified scale information.

[`+  configurationWithTextStyle:`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/init(textStyle:))

Creates a configuration object with the specified font text style information.

[`+  configurationWithTextStyle:scale:`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/init(textStyle:scale:))

Creates a configuration object with the specified font text style and scale information.

[`+  configurationWithWeight:`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/init(weight:))

Creates a configuration object with the specified weight information.

[`+  configurationWithFont:`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/init(font:))

Creates a configuration object with the specified font information.

[`+  configurationWithFont:scale:`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/init(font:scale:))

Creates a configuration object with the specified font and scale information.

[`SymbolScale`](/documentation/UIKit/UIImage/SymbolScale)

Constants that indicate which scale variant of a symbol image to use.

[`SymbolWeight`](/documentation/UIKit/UIImage/SymbolWeight)

Constants that indicate which weight variant of a symbol image to use.

[`SymbolColorRenderingMode`](/documentation/UIKit/UIImage/SymbolColorRenderingMode)

[`SymbolVariableValueMode`](/documentation/UIKit/UIImage/SymbolVariableValueMode)

### Creating a color configuration

[`+  configurationWithHierarchicalColor:`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/init(hierarchicalColor:))

Creates a color configuration with a color scheme that originates from one color.

[`+  configurationWithPaletteColors:`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/init(paletteColors:))

Creates a color configuration with a color scheme from a palette of multiple colors.

[`+  configurationPreferringMulticolor`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/preferringMulticolor())

Creates a color configuration that specifies that the symbol image uses its multicolor variant, if one exists.

[`+  configurationPreferringMonochrome`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/preferringMonochrome())

Creates a color configuration that specifies that the symbol image uses its monochrome variant.

### Getting an unspecified configuration

[`unspecifiedConfiguration`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/unspecified)

A symbol configuration object that contains unspecified values for all attributes.

### Removing configuration attributes

[`-  configurationWithoutPointSizeAndWeight`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/configurationWithoutPointSizeAndWeight())

Returns a copy of the current symbol configuration object without point-size and weight information.

[`-  configurationWithoutScale`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/configurationWithoutScale())

Returns a copy of the current symbol configuration object without scale information.

[`-  configurationWithoutTextStyle`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/configurationWithoutTextStyle())

Returns a copy of the current symbol configuration object without font text style information.

[`-  configurationWithoutWeight`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/configurationWithoutWeight())

Returns a copy of the current symbol configuration object without weight information.

### Comparing symbol image configurations

[`-  isEqualToConfiguration:`](/documentation/UIKit/UIImage/SymbolConfiguration-swift.class/isEqual(to:))

Returns a Boolean value that indicates whether the configuration objects are equivalent.

## Relationships

### Conforms To

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`NSCopying`](/documentation/Foundation/NSCopying)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Sendable`](/documentation/Swift/Sendable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

### Inherits From

[`Configuration-swift.class`](/documentation/UIKit/UIImage/Configuration-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)