uibuttonuikituiimagesf-symbolsuiaction

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


I'm generating a button with the following code but am unable to successfully change the button's foreground color.

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

I've tried

In this specific scenario I want to change the color of the circular background area of the image only and not the X (crosses) or the button's background. Essentially I want a red filled circle with a gray X (crosses).

So I can get this: enter image description here

But I want something more like this (with the red limited to inside the circle): enter image description here


Solution

    1. Change type from .close to .custom

    2. Change UIImage(systemName: "x.circle") to

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