Swiftui 如何在不使用GeometryReader的情况下读取视图数组中的视图宽度?
这是我的某个Rec数组,我需要知道我是否可以在不使用GeometryReader的情况下读取该Rec的大小,例如Rec的宽度Swiftui 如何在不使用GeometryReader的情况下读取视图数组中的视图宽度?,swiftui,Swiftui,这是我的某个Rec数组,我需要知道我是否可以在不使用GeometryReader的情况下读取该Rec的大小,例如Rec的宽度 var body: some View { let arrayOfRec = [Rectangle().frame(width: 100, height: 100), Rectangle().frame(width: 200, height: 200)] VStack { ForEach(0..<arrayOfRe
var body: some View {
let arrayOfRec = [Rectangle().frame(width: 100, height: 100), Rectangle().frame(width: 200, height: 200)]
VStack
{
ForEach(0..<arrayOfRec.count) { index in
arrayOfRec[index]
}
}
}
var主体:一些视图{
设arrayOfRec=[Rectangle().frame(宽度:100,高度:100),Rectangle().frame(宽度:200,高度:200)]
VStack
{
ForEach(0..不幸的是,在纯SwiftUI中,如果没有几何体读取器,似乎无法获得矩形的宽度和高度。我尝试了附加到该形状的方法,但没有任何结果
未知用例是什么,但可以创建一个自定义对象来保存矩形的宽度和高度
struct Rectangle_TEST {
var rectangle: Rectangle
var width: CGFloat
var height: CGFloat
init(width: CGFloat, height: CGFloat) {
self.width = width
self.height = height
self.rectangle = Rectangle()
}
func getView(color: Color) -> some View {
return self.rectangle
.fill(color)
.frame(width: self.width, height: self.height)
}
}
struct ContentView: View {
var body: some View {
let arrayOfRec: [Rectangle_TEST] = [Rectangle_TEST(width: 100, height: 100), Rectangle_TEST(width: 200, height: 200)]
VStack {
ForEach(0..<arrayOfRec.count) { index in
Text("Width: \(arrayOfRec[index].width), Height: \(arrayOfRec[index].height)")
arrayOfRec[index].getView(color: .red)
}
}
}
}
struct Rectangle\u测试{
变量矩形:矩形
变量宽度:CGFloat
变量高度:CGFloat
初始(宽度:CGFloat,高度:CGFloat){
self.width=宽度
自我高度=高度
self.rectangle=rectangle()
}
func getView(color:color)->一些视图{
返回自选矩形
.填充(颜色)
.框架(宽度:自宽,高度:自高)
}
}
结构ContentView:View{
var body:一些观点{
让arrayOfRec:[矩形测试]=[矩形测试(宽度:100,高度:100),矩形测试(宽度:200,高度:200)]
VStack{
ForEach(0。。