【发布时间】:2021-02-27 15:16:27
【问题描述】:
我想建立一个独立于 ContentView 的函数,我可以使用这个函数来初始化一些值,例如在这个向下的代码中,我想用函数获取 View 的大小,但是由于我未知的原因它返回零,我认为背景修改在此版本中无法正常工作。有什么帮助吗?
func viewSizeReaderFunction<Content: View>(content: Content) -> CGSize {
var sizeOfView: CGSize = CGSize()
content
.background(
GeometryReader { geometry in
Color
.clear
.onAppear() { sizeOfView = geometry.size }
})
return sizeOfView
}
let sizeOfText: CGSize = viewSizeReaderFunction(content: Text("Hello, world!"))
struct ContentView: View {
var body: some View {
Color.red
.onAppear() {
print(sizeOfText)
}
}
}
【问题讨论】:
标签: swiftui