按照苹果的说法,
GeometryReader 一个容器视图,将其内容定义为其自身大小和坐标空间的函数。
GeometryProxy:用于访问容器视图的大小和坐标空间(用于锚点分辨率)的代理。
我想了解何时使用 GeometryReader 以及何时使用 GeometryProxy?我做了谷歌,但没有看到任何帖子出现在结果中。所以我在这里问一下,以便像我这样的新开发人员可以参考。
几何阅读器
SwiftUI 的 GeometryReader 允许我们根据其自身的大小和坐标来确定视图的大小和坐标。
你可以使用GeometryReader
这样的:
GeometryReader { geometry in
SomeView()
.offset(x: geometry.size.width / 2)
}
Run Code Online (Sandbox Code Playgroud)
几何代理
geometry
上面代码中的闭包变量 ( ) 的类型是GeometryProxy
。这个结构体为我们提供了以下信息:
public var size: CGSize { get }
public var safeAreaInsets: EdgeInsets { get }
public func frame(in coordinateSpace: CoordinateSpace) -> CGRect
public subscript<T>(anchor: Anchor<T>) -> T where T : Equatable { get }
Run Code Online (Sandbox Code Playgroud)
基本上 aGeometryReader
读取视图(其大小、坐标等)并返回一个GeometryProxy
结构,您可以从中访问所有信息。
有用的链接:
归档时间: |
|
查看次数: |
1792 次 |
最近记录: |