View in English

  • Apple Developer
    • 시작하기

    시작하기 탐색

    • 개요
    • 알아보기
    • Apple Developer Program

    알림 받기

    • 최신 뉴스
    • Hello Developer
    • 플랫폼

    플랫폼 탐색

    • Apple 플랫폼
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    피처링

    • 디자인
    • 배포
    • 게임
    • 액세서리
    • 웹
    • 홈
    • CarPlay
    • 기술

    기술 탐색

    • 개요
    • Xcode
    • Swift
    • SwiftUI

    피처링

    • 손쉬운 사용
    • 앱 인텐트
    • Apple Intelligence
    • 게임
    • 머신 러닝 및 AI
    • 보안
    • Xcode Cloud
    • 커뮤니티

    커뮤니티 탐색

    • 개요
    • Apple과의 만남 이벤트
    • 커뮤니티 주도 이벤트
    • 개발자 포럼
    • 오픈 소스

    피처링

    • WWDC
    • Swift Student Challenge
    • 개발자 이야기
    • App Store 어워드
    • Apple 디자인 어워드
    • 문서

    문서 탐색

    • 문서 라이브러리
    • 기술 개요
    • 샘플 코드
    • 휴먼 인터페이스 가이드라인
    • 비디오

    릴리즈 노트

    • 피처링 업데이트
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • 다운로드

    다운로드 탐색

    • 모든 다운로드
    • 운영 체제
    • 애플리케이션
    • 디자인 리소스

    피처링

    • Xcode
    • TestFlight
    • 서체
    • SF Symbols
    • Icon Composer
    • 지원

    지원 탐색

    • 개요
    • 도움말
    • 개발자 포럼
    • 피드백 지원
    • 문의하기

    피처링

    • 계정 도움말
    • 앱 심사 지침
    • App Store Connect 도움말
    • 새로 추가될 요구 사항
    • 계약 및 지침
    • 시스템 상태
  • 빠른 링크

    • 이벤트
    • 뉴스
    • 포럼
    • 샘플 코드
    • 비디오
 

비디오

메뉴 열기 메뉴 닫기
  • 컬렉션
  • 주제
  • 전체 비디오
  • 소개

WWDC19 컬렉션으로 돌아가기

  • 소개
  • 자막 전문
  • Exploring Tinted Graphic Complications

    Many Watch faces in watchOS 6 allow for customizing the tint color of content, allowing for even more personalization of Apple's most personal device. Discover how you can use ClockKit data providers to offer full color and tint-ready options for each complication family type. This gives customers the ability to get up to date, important information at a glance, no matter which Watch face they choose.

    리소스

    • ClockKit
      • HD 비디오
      • SD 비디오
    • 프레젠테이션 슬라이드(PDF)

    관련 비디오

    Tech Talks

    • Developing Complications for Apple Watch Series 4
  • 비디오 검색…

    Hi. My name is Jared McGann. I'm an engineering manager in watchOS. In watchOS 5, Apple released the new Infograph clock faces with graphic complications. In watchOS 6, we've enhanced graphic complications with a new tinted mode. Any clock face with graphic complications supports tinted complications. Here's some more examples from our new watch faces in watchOS 6. These graphic complications are composed of three data types; gauges, text, and images. The system alters the appearance of each into contexts. Let's walk through each one. In tinted context, gauges are displayed as a solid color rather than a color gradient.

    The color of the gauge is determined by the system, as informed by the customer's color selection. If your complication relies on color to communicate information within the gauge, you may need to reconsider how you display that information in your complication.

    Text is also displayed with a single color in tinted contexts. Again, the color is determined by the system, based on the customer's color choice. Multicolor text providers are reduced to a single color, as seen in the activity rings complication.

    Lastly, images are desaturated by default in tinted contexts, but we also have new API to provide alternate images in this mode.

    Before we dive into the new API, I'd like to take a step back and talk about data providers generally. ClockKit includes a number of data providers for complications. These providers manage the data you supply to ClockKit for display within a complication.

    Let's take a look at the full color image provider.

    The image property specifies a full-color image to be displayed by a complication.

    Then there's an accessibility label property, which is a succinct label that identifies the purpose of the image. So how do you provide an alternate image for tinted contexts? In watchOS 6 there's a new property in CLKFullColorImageProvider called tintedImageProvider. It's an optional property where you can provide a separate image for tinted contexts if you don't want the full color image to be desaturated. This property is of the type CLKImageProvider. We chose this class because it allows you to provide both one-piece and two-piece template images for tinted contexts.

    Let's take a closer look at CLKImageProvider, which has been around since watchOS 2. The first thing to note is that CLKFullColorImageProvider is not derived from CLKImageProvider. These are two distinct classes. This class, CLKImageProvider, manages template images for display in a complication. The clock face displaying the complication determines how to display the image and what tint color to apply.

    The first property is one-piece image, which is a single template image. This is the only required property.

    Next up is tint color. In some classic complication contexts, this color is applied to the template image within a complication. In graphic complications, tint color is ignored because color is determined by the system as influenced by the customer's color selection.

    Then, there are two-piece images, which are composed of the two-piece image background and two-piece image foreground properties.

    Classic complications use two-piece images in multicolor contexts, as seen here. Graphic complications use two-piece images in some tinted contexts. When applicable, two-piece images take priority over one-piece images. A two-piece image consists of a foreground image layered on top of a background image. Both images are template images. In classic complications, the color and the tint color property is applied to the background image and white to the foreground image. In tinted graphic complications, as previously mentioned, tint color is ignored. The system will determine the foreground and background colors as informed by the customer's color selection.

    Let's walk through a few scenarios for displaying images within a tinted graphic complication. The first is for the full color image to appear desaturated in tinted contexts. Here, we see the full color image desaturated, more or less gray scale on the right. To achieve this in code, merely initialize a CLKFullColorImageProvider without a tintedImageProvider, as seen here. When the tintedImageProvider property is nil, the system displays a desaturated version of the full color image.

    In other scenarios, you may want to display an alternate template image in tinted contexts. Perhaps your full color image doesn't desaturate well, or maybe you're concerned about a logo being displayed in undesirable colors.

    To do this in code, create a CLKImageProvider with the desired one-piece template image. Then supply that in the CLKFullColorImageProvider initializer alongside the full color image. In full color context, ClockKit will utilize the full color image. In tinted contexts, the one-piece image from the CLKImageProvider will be utilized.

    It's worth noting that you can also provide the same full color image within the tintedImageProvider, and that image will be templatized instead of desaturated. We use this technique in many of the standard watchOS complications.

    Lastly, you may want to provide an alternate two-piece image in tinted contexts.

    To achieve this, create a CLKImageProvider with both one-piece and two-piece template images. Then supply this object in the CLKFullColorImageProvider initializer alongside the full color image. In tinted contexts, ClockKit will determine if the one-piece or two-piece image should be utilized.

    Here's a chart from the Human Interface Guidelines with various graphic complication layouts.

    And here you can see the same layouts in a tinted environment.

    Remember that ClockKit will alter the appearance of complications in tinted contexts. Tint color in tinted graphic complications is determined by the system, as informed by the customer's color selection. And lastly, we've supplied new API that allows you to provide alternate template images to be displayed in tinted contexts.

    If you're new to complications or would like to learn more, check out these videos on developer.apple.com.

Developer Footer

  • 비디오
  • WWDC19
  • Exploring Tinted Graphic Complications
  • 메뉴 열기 메뉴 닫기
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    메뉴 열기 메뉴 닫기
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    메뉴 열기 메뉴 닫기
    • 손쉬운 사용
    • 액세서리
    • Apple Intelligence
    • 앱 확장 프로그램
    • App Store
    • 오디오 및 비디오(영문)
    • 증강 현실
    • 디자인
    • 배포
    • 교육
    • 서체(영문)
    • 게임
    • 건강 및 피트니스
    • 앱 내 구입
    • 현지화
    • 지도 및 위치
    • 머신 러닝 및 AI
    • 오픈 소스(영문)
    • 보안
    • Safari 및 웹(영문)
    메뉴 열기 메뉴 닫기
    • 문서(영문)
    • 튜토리얼
    • 다운로드
    • 포럼(영문)
    • 비디오
    메뉴 열기 메뉴 닫기
    • 지원 문서
    • 문의하기
    • 버그 보고
    • 시스템 상태(영문)
    메뉴 열기 메뉴 닫기
    • Apple Developer
    • App Store Connect
    • 인증서, 식별자 및 프로파일(영문)
    • 피드백 지원
    메뉴 열기 메뉴 닫기
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program(영문)
    • Mini Apps Partner Program
    • News Partner Program(영문)
    • Video Partner Program(영문)
    • Security Bounty Program(영문)
    • Security Research Device Program(영문)
    메뉴 열기 메뉴 닫기
    • Apple과의 만남
    • Apple Developer Center
    • App Store 어워드(영문)
    • Apple 디자인 어워드
    • Apple Developer Academy(영문)
    • WWDC
    최신 뉴스 읽기 Apple Developer 앱 받기
    Copyright © 2026 Apple Inc. 모든 권리 보유.
    약관 개인정보 처리방침 계약 및 지침