如何在SwiftUI中访问视图的修改器?

Tam*_*gel 3 swift swiftui

假设我有一个ViewImage具有shadow特性:

struct ContentView: View {
    var body: some View {
        let myImage = Image("turtlerock").shadow(radius: 10)

        return myImage
    }
}
Run Code Online (Sandbox Code Playgroud)

现在想象我要访问阴影半径的值。我以为我可以做到这一点:

print(myImage.shadow.radius)
Run Code Online (Sandbox Code Playgroud)

但是,这将返回错误:

类型'(颜色,长度,长度,长度)-> _ModifiedContent <_ModifiedContent,_ShadowEffect>'的值(aka'(颜色,CGFloat,CGFloat,CGFloat)-> _ModifiedContent <_ModifiedContent,_ShadowEffect>')没有成员'radius'

有没有办法访问修饰符?

J. *_*Doe 5

的返回类型myImage为:

_ModifiedContent<Image, _ShadowEffect>
Run Code Online (Sandbox Code Playgroud)

我们可以通过执行以下操作访问原始图像:

myImage.content
Run Code Online (Sandbox Code Playgroud)

我们可以通过键入以下内容来访问阴影效果修改器:

myImage.modifier
Run Code Online (Sandbox Code Playgroud)

因此,要做您想做的事,您必须输入:

print(myImage.modifier.radius)
Run Code Online (Sandbox Code Playgroud)