You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开启着色渲染模式(Tinted Rendering Mode)时阴影颜色异常变化的原因咨询

开启着色渲染模式(Tinted Rendering Mode)时阴影颜色异常变化的原因咨询

嘿,各位iOS/SwiftUI大佬,我最近碰到个挺费解的小问题,想过来问问大家:

我做了一组带和不带着色(tinting)的控件,在实现的时候,我给直接放在图片上方的Text元素加了个自定义的shadow修饰器,本来是想让文字的阴影固定为黑色,代码逻辑看起来也很简单。具体代码如下:

Text("example text")
    .font(.headline)
    .foregroundColor(.white)
    .shadow()

extension View {
    func shadow(color: Color = .black) -> some View {
        modifier(ShadowModifier(color: color))
    }
}

private struct ShadowModifier: ViewModifier {
    var color: Color
    func body(content: Content) -> some View {
        content
            .shadow(color: color, radius: 2, x: 1, y: 1)
    }
}

按我原本的预期,不管控件有没有开启着色渲染模式,这个阴影都应该一直是黑色的,但实际测试下来,开启着色后阴影颜色居然跟着变了!这完全和我写的代码逻辑不符啊,有没有人能帮我解释下这是为啥?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 09:03:02