Как изменить цвет UIButton на основе символов SF, встроенного в UIAction?

Я создаю кнопку со следующим кодом, но не могу успешно изменить цвет переднего плана кнопки.

      let button = UIButton(
    type: .close,
    primaryAction: UIAction(
        image: UIImage(systemName: "x.circle"),
        handler: { _ in }
    )
)

я пробовал

  • UIImage(systemName: "x.circle")?.withTintColor(.red)

  • UIImage(systemName: "x.circle")?.withTintColor(.systemRed, renderingMode: .alwaysOriginal)

  • button.setTitleColor(.systemRed, for: .normal)

  • Добавление конфигурации:

            var config = UIButton.Configuration.borderless()
    config.baseForegroundColor = .systemRed
    button.configuration = config
    
  • Использование другого варианта символа, например: UIImage(systemName: "x.circle.fill")

В этом конкретном сценарии я хочу изменить цвет только круглой фоновой области изображения, а не X (крестики) или фон кнопки. По сути, я хочу красный заполненный круг с серым X (кресты).

Итак, я могу получить это:

Но я хочу что-то более похожее (с красным, ограниченным кругом):

1 ответ

  1. Изменить тип с .closeк .custom

  2. Изменять UIImage(systemName: "x.circle")к

    UIImage(systemName: "x.circle")?.withTintColor(.systemRed, renderingMode: .alwaysOriginal)

Другие вопросы по тегам