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

时间:2019-06-08 12:20:34

标签: swift swiftui

假设我有一个View,其中一个Image具有一个shadow属性:

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

        return myImage
    }
}

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

print(myImage.shadow.radius)

但是,这将返回错误:

  

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

是否可以使用修饰符?

1 个答案:

答案 0 :(得分:4)

myImage的返回类型为:

_ModifiedContent<Image, _ShadowEffect>

我们可以通过以下方式访问原始图像:

myImage.content

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

myImage.modifier

要完成您想做的事情,您必须输入:

print(myImage.modifier.radius)