【问题标题】:How can I access modifiers of a view in SwiftUI?如何在 SwiftUI 中访问视图的修饰符?
【发布时间】:2019-06-08 12:20:34
【问题描述】:

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

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

        return myImage
    }
}

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

print(myImage.shadow.radius)

但是,这会返回错误:

'(Color, Length, Length, Length) -> _ModifiedContent<_modifiedcontent _shadoweffect>' 类型的值(又名'(Color, CGFloat, CGFloat, CGFloat) -> _ModifiedContent<_modifiedcontent _shadoweffect>')没有成员'半径'

有没有办法访问修饰符?

【问题讨论】:

    标签: swift swiftui


    【解决方案1】:

    myImage的返回类型为:

    _ModifiedContent<Image, _ShadowEffect>
    

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

    myImage.content
    

    我们可以通过键入来访问阴影效果修饰符:

    myImage.modifier
    

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

    print(myImage.modifier.radius)
    

    【讨论】:

    • 您能否展示更完整的代码,这些代码可以在 Xcode 或至少在 Swift Playground for iPad 上运行?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多