<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 15.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 8.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/SymbolRenderingMode/palette",
  "metadataVersion" : "0.1.0",
  "role" : "Type Property",
  "symbol" : {
    "kind" : "Type Property",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI19SymbolRenderingModeV7paletteACvpZ"
  },
  "title" : "palette"
}
-->

# palette

A mode that renders symbols as multiple layers, with different styles
applied to the layers.

```
static let palette: SymbolRenderingMode
```

## Discussion

In this mode SwiftUI maps each successively defined layer in the image
to the next of the primary, secondary, and tertiary variants of the
foreground style. You can specify these styles explicitly using the
[`foregroundStyle(_:_:)`](/documentation/SwiftUI/View/foregroundStyle(_:_:)) and [`foregroundStyle(_:_:_:)`](/documentation/SwiftUI/View/foregroundStyle(_:_:_:))
modifiers. If you only specify a primary foreground style, SwiftUI
automatically derives the others from that style. For example, you can
render a filled exclamation mark triangle with yellow as the tint color
for the exclamation mark, and fill the triangle with cyan:

```
Image(systemName: "exclamationmark.triangle.fill")
    .symbolRenderingMode(.palette)
    .foregroundStyle(Color.yellow, Color.cyan)
```

You can also omit the symbol rendering mode, as specifying multiple
foreground styles implies switching to palette rendering mode:

```
Image(systemName: "exclamationmark.triangle.fill")
    .foregroundStyle(Color.yellow, Color.cyan)
```

---

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)