Инвертированная маска swiftui с изображением системы - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь вырезать символ sf из формы круга в swiftUI.

В настоящее время у меня есть следующий код:

Circle()
   .fill(Color.white)
   .frame(width: 50, height: 50)
   .mask(
       Image(systemName: "play.fill")
           .font(.system(size: 24))
           .foregroundColor(Color.black)
           .frame(width: 50, height: 50)
   )

, который генерирует:

enter image description here

Однако я хочу инвертировать эффект маски: символ вырезан из круга, как показано на рисунке ниже:

enter image description here

Обратите внимание, что фактический фон не является красным, как на изображении, но будет загруженным пользователем изображением, поэтому установка символа foregroundColor на красный невозможна.

Есть ли способ инвертировать маску символа / изображения так, чтобы в круге было отверстие с формой изображения?

1 Ответ

0 голосов
/ 12 февраля 2020

Вы можете использовать другое изображение:

 Circle()
    .fill(Color.white)
    .frame(width: 50, height: 50)
    .mask(
        Image(systemName: "play.circle.fill")
            .font(.system(size: 24))
            .foregroundColor(Color.black)
            .frame(width: 50, height: 50)
    )
...