Unwanted animations appear on UIButton (iOS 26)

<iframe src="https://www.youtube.com/embed/YXl0ijziTyM " width="360" height="600" frameborder="0" allowfullscreen=""> </iframe>

After the iOS 26 update, unwanted animations appear on UIButton.

I'm using the attributedTitle property of UIButton.Configuration to change the button's text, and an animation appears after iOS 26. (It's unclear whether it's after iOS 26.0 or iOS 26.1, but it likely started with 26.1.)

The peculiar thing is that the animation only starts appearing on buttons that have been pressed once.

I tried using UIView.performWithoutAnimation and CATransaction's begin(), setDisableActions(true), commit(), but it didn't work. How should I solve this? Below is the code for changing the button's text.

func updateTitle() {
        let keys = type.keys
        if keys.count == 1 {
            guard let key = keys.first else { return }
            if key.count == 1 {
                if Character(key).isLowercase {
                    self.configuration?.attributedTitle = AttributedString(key, attributes: AttributeContainer([.font: UIFont.systemFont(ofSize: 24, weight: .regular), .foregroundColor: UIColor.label]))
                } else if Character(key).isUppercase {
                    self.configuration?.attributedTitle = AttributedString(key, attributes: AttributeContainer([.font: UIFont.systemFont(ofSize: 22, weight: .regular), .foregroundColor: UIColor.label]))
                } else {
                    self.configuration?.attributedTitle = AttributedString(key, attributes: AttributeContainer([.font: UIFont.systemFont(ofSize: 22, weight: .regular), .foregroundColor: UIColor.label]))
                }
            } else {
                self.configuration?.attributedTitle = AttributedString(key, attributes: AttributeContainer([.font: UIFont.systemFont(ofSize: 18, weight: .regular), .foregroundColor: UIColor.label]))
            }
            
        } else {
            let joined = keys.joined(separator: "")
            self.configuration?.attributedTitle = AttributedString(joined, attributes: AttributeContainer([.font: UIFont.systemFont(ofSize: 22, weight: .regular), .foregroundColor: UIColor.label]))
        }
    }

I encountered the same bug; the best workaround I found is to set the button configuration to null before I set it to its updated version, that seems to prevent it from animating the changes.

(hopefully Apple either fixes this or adds an API to specifically set a configuration without animating in a future 26.x update)

Unwanted animations appear on UIButton (iOS 26)
 
 
Q