如何更改嵌入在 UIAction 中的基于 SF Symbols 的 UIButton 的颜色?

How do I change the color of an SF Symbols based UIButton embedded in a UIAction?

我正在使用以下代码生成按钮,但无法成功更改按钮的前景色。

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

我试过了

在这个特定场景中,我只想更改图像的圆形背景区域的颜色,而不是 X(十字)或按钮的背景。基本上我想要一个带有灰色 X(十字)的红色实心圆。

所以我可以得到这个:

但我想要更像这样的东西(红色仅限于圆圈内):

  1. 将类型从 .close 更改为 .custom

  2. UIImage(systemName: "x.circle")改为

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