如何在 SwiftUI 中访问视图的修饰符?
Posted
技术标签:
【中文标题】如何在 SwiftUI 中访问视图的修饰符?【英文标题】:How can I access modifiers of a view in 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>')没有成员'半径'
有没有办法访问修饰符?
【问题讨论】:
【参考方案1】:myImage
的返回类型为:
_ModifiedContent<Image, _ShadowEffect>
我们可以通过以下方式访问原始图像:
myImage.content
我们可以通过键入来访问阴影效果修饰符:
myImage.modifier
所以要做你想做的事,你必须输入:
print(myImage.modifier.radius)
【讨论】:
您能否展示更完整的代码,这些代码可以在 Xcode 或至少在 Swift Playground for iPad 上运行?以上是关于如何在 SwiftUI 中访问视图的修饰符?的主要内容,如果未能解决你的问题,请参考以下文章
如何将函数中的多个修饰符应用于 SwiftUI 中的给定视图?