代码之家  ›  专栏  ›  技术社区  ›  Tamás Sengel RIJO JOSEPH

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

  •  1
  • Tamás Sengel RIJO JOSEPH  · 技术社区  · 5 年前

    假设我有一个 View 有一个 Image 有一个 shadow 属性:

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

    现在假设我想要访问阴影半径的值。我以为我能做到:

    print(myImage.shadow.radius)
    

    但是,这会返回一个错误:

    类型'(颜色、长度、长度、长度)->'u modifiedContent<'u modifiedContent,'u shadowEffect>'(亦称'(颜色、cfloat、cfloat、cfloat)->'u modifiedContent<'u modifiedContent,'u shadowEffect>'的值没有成员'radius'

    有没有方法访问修饰符?

    1 回复  |  直到 5 年前
        1
  •  2
  •   J. Doe    5 年前

    返回类型 myImage 是:

    _ModifiedContent<Image, _ShadowEffect>
    

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

    myImage.content
    

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

    myImage.modifier
    

    所以要想做你想做的,你必须输入:

    print(myImage.modifier.radius)