<!--
{
  "availability" : [
    "watchOS: 2.0.0 - 27.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "ClockKit",
  "identifier" : "/documentation/ClockKit/CLKImageProvider",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "ClockKit"
    ],
    "preciseIdentifier" : "c:objc(cs)CLKImageProvider"
  },
  "title" : "CLKImageProvider"
}
-->

# CLKImageProvider

An image displayed by a complication.

```
class CLKImageProvider
```

## Overview

You create an image provider with at least one image, and you may specify two additional images to use under certain conditions. The specified images are *template images*, with a color applied to them prior to display. The clock face displaying the complication determines how the images are composited together and which tint color is applied.

Every image provider must contain a *one-piece image*, composed of a single template image. In multicolor classic complications, ClockKit applies the color in the [`tintColor`](/documentation/ClockKit/CLKImageProvider/tintColor) property to your template image and displays the results in your complication. If you don’t specify a value for the [`tintColor`](/documentation/ClockKit/CLKImageProvider/tintColor) property, the image provider applies the tint color associated with the underlying template or white if the template doesn’t specify a color. In tinted graphic complications, ClockKit ignores the [`tintColor`](/documentation/ClockKit/CLKImageProvider/tintColor) property, and applies the color associated with the watch face.

In addition to the one-piece image, you may optionally specify two additional images to composite together in order to create a single final image. A two-piece image consists of a foreground image layered on top of a background image. Both images are template images. For classic complications, ClockKit applies the color in the [`tintColor`](/documentation/ClockKit/CLKImageProvider/tintColor) property to the background image, falling back to the color in the underlying template or white if the template doesn’t specify a color. For tinted graphic complications, the system determines the color according to the user’s color selection. In classic complications, two-piece images take priority over one-piece images. In tinted graphic complications, the system can choose either the one-piece or two-piece image, based on the complication and watch face.

For information about image sizes to use in different templates, see [Apple Watch Human Interface Guidelines](https://developer.apple.com/watch/human-interface-guidelines/).

## Topics

### Creating an Image Provider

[`init(onePieceImage:)`](/documentation/ClockKit/CLKImageProvider/init(onePieceImage:))

Creates and returns an image provider with the specified one-piece image.

[`initWithOnePieceImage:`](/documentation/ClockKit/CLKImageProvider/initWithOnePieceImage:)

Creates and returns an image provider with the specified one-piece image.

[`init(onePieceImage:twoPieceImageBackground:twoPieceImageForeground:)`](/documentation/ClockKit/CLKImageProvider/init(onePieceImage:twoPieceImageBackground:twoPieceImageForeground:))

Creates and returns an image provider with both one-piece and two-piece images.

[`initWithOnePieceImage:twoPieceImageBackground:twoPieceImageForeground:`](/documentation/ClockKit/CLKImageProvider/initWithOnePieceImage:twoPieceImageBackground:twoPieceImageForeground:)

Creates and returns an image provider with both one-piece and two-piece images.

### Getting the Image Data

[`onePieceImage`](/documentation/ClockKit/CLKImageProvider/onePieceImage)

The template image to use as a one-piece image.

[`tintColor`](/documentation/ClockKit/CLKImageProvider/tintColor)

The tint color to apply to the image in a multicolor clock face.

[`twoPieceImageBackground`](/documentation/ClockKit/CLKImageProvider/twoPieceImageBackground)

The background image in a two-piece image.

[`twoPieceImageForeground`](/documentation/ClockKit/CLKImageProvider/twoPieceImageForeground)

The foreground image in a two-piece image.

### Setting the Accessibility Label

[`accessibilityLabel`](/documentation/ClockKit/CLKImageProvider/accessibilityLabel)

A succinct label that succinctly identifies the purpose of the image.

### Creating Empty Image Providers

[`new()`](/documentation/ClockKit/CLKImageProvider/new())

Creates an empty image provider.

[`init()`](/documentation/ClockKit/CLKImageProvider/init())

Creates an empty image provider.



---

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)