2

我需要在 VStack 中获取多个视图的框架。我认为使用,GeometryReader但它只为父级返回必要的参数。如何在下面的屏幕截图中获取每个视图的这些参数?

我需要获取框架的布局

4

1 回答 1

1

我们可以在所需视图的覆盖层内使用 GeometryReader,并将必要的帧存储在数组中或作为单独的变量。

ForEach(0..<n) { number in
  YourView()
    .overlay(
      GeometryReader { geometry in
        Color.clear
          .onAppear {
            self.buttonFrames[number] = geometry.frame(in: .global)
          }
        }
    )
}

有关更多详细信息,您可以查看此来源:https ://github.com/twostraws/SwiftOnSundays/blob/master/020%20Switcharoo/Project/Switcharoo/ContentView.swift 和完整教程: https: //www.youtube。 com/watch?v=ffV_fYcFoX0

于 2020-04-21T16:38:52.223 回答