在我的ContentView中,我有一个简单的自定义 View :

var body: some View {
    VStack {
        Text("Hi")
        Circles().frame(width: 200, height: 200)
        Text("Bye")
    }
}

其中CirclesUIViewRepresentable:
func makeUIView(context: Context) -> CircleView  {
    return CircleView()
}
CircleView是A UIView,但是我找不到高度和宽度不为零的get frame或bounds。该 View 以正确的大小显示,但是我无法在UIView生命周期的哪个位置完成该布局。 (在init时,高度/宽度仍为0)

最佳答案

至少在UIView.layoutSubviews中,边界已经有效(出于布局子图层的需要,我使用了覆盖范围)。

open func layoutSubviews()

您可以覆盖其他UIView方法,以查找根据需要定义的位置。

10-06 00:22