触发 tintColorDidChange 以响应用户操作使有色元素去饱和

Trigger tintColorDidChange to desaturate tinted elements in response to user action

您可以覆盖 UIView 子类中的 tintColorDidChange 并访问 tintAdjustmentMode 以便在显示警报时了解 iOS 何时去饱和您的元素例如。

我正在实施一个自定义模式控件,它会导致 iOS 降低底层视图的饱和度。我怎样才能触发它,有通知吗post?

我可以手动将色调颜色设置为 UIColor(white: 128/255, alpha: 1) 以伪造它,然后在适当的时候重置它,但这是一个糟糕的解决方法,因为它并没有真正降低元素的饱和度,而只是应用了不同的色调颜色.

您可以将 window 的 tintAdjustmentMode 设置为 UIViewTintAdjustmentModeDimmed,然后将警报的 tintAdjustmentMode 设置为 UIViewTintAdjustmentModeNormal