У меня проблема, которую я безуспешно пытался решить самостоятельно целую вечность. Я использую документацию Apple и видео здесь Изучение тонированной графики c Сложности Я создал график c из кода, который создает png из данных, которые вписываются в квадрат на циферблате Apple Watch. В файле ComplicationController.swift у меня есть этот код
graphicRectangularImage = UIImage(cgImage: context.makeImage()!, scale: 2.0, orientation: .up)
...
rectangularTemplate.imageProvider = CLKFullColorImageProvider(fullColorImage: graphicRectangularImage)
и я установил конфиденциальность осложнений на handler(.hideOnLockScreen)
.
И это отлично работает для создания полноцветного изображения. И он скрывается при блокировке.
Итак, когда у пользователя разноцветное лицо это хорошо. Но если я добавлю два изображения вроде этого
graphicRectangularImage = UIImage(cgImage: context.makeImage()!, scale: 2.0, orientation: .up)
twoPieceImageBackground = UIImage(cgImage: context.makeImage()!, scale: 2.0, orientation: .up)
twoPieceImageForeground = UIImage(cgImage: context.makeImage()!, scale: 2.0, orientation: .up)
let tintedImageProvider = CLKImageProvider(onePieceImage: graphicRectangularImage, twoPieceImageBackground: twoPieceImageBackground, twoPieceImageForeground: twoPieceImageForeground)
rectangularTemplate.imageProvider = CLKFullColorImageProvider(fullColorImage: graphicRectangularImage, tintedImageProvider: tintedImageProvider)
Изображение переднего плана - это просто полоса и слова «Прошлые 7 дней:», поскольку это единственные два бита, которые я хочу выделить желтым. Фон - это остальная часть изображения, поэтому она может быть серой. Он отлично работает на многоцветном экране, но при использовании поставщика тонированных изображений изображение не скрывается при блокировке.
Изображение не скрывается в заблокированном состоянии. Но он действительно ведет себя правильно, если вы снова измените цвет на многоцветный, это немного странно.
Заблокированное изображение, похоже, происходит из файла изображения, который я поместил в папку Assets для усложнения в разделе для осложнений, но у меня нет места для добавления заблокированного изображения для двухэлементного изображения, поэтому он просто использует то, что уже было, за исключением имени приложения, которое изменяется при блокировке.
Пожалуйста, помогите указать мне правильное направление, чтобы тонированное изображение переднего плана скрывалось, когда Apple Watch заблокированы.