在UIViewRepresentable中获取UIView的框架或范围

时间:2019-10-23 05:06:03

标签: ios swift swiftui

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

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框架或边界。该视图以正确的大小显示,但是我无法在UIView生命周期的哪个位置完成该布局。 (在init时,高度/宽度仍为0)

1 个答案:

答案 0 :(得分:0)

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

open func layoutSubviews()

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