获取子视图的尺寸以用于另一个视图的初始化程序

时间:2020-08-25 17:59:10

标签: swift swiftui

我正在尝试制作一个SnapScrolling视图,该视图允许某人输入一系列视图,并且它将自动偏移它们,以使其看起来好像在捕捉。为了正确地为数组中的每个视图测量合适的偏移量,我需要在SnapScrolling视图的初始化程序中获得子视图的尺寸,以便我可以计算总内容高度(数组中的视图可以具有不同的大小)。我可以编写一个函数来返回视图的尺寸为CGFloats或CGSize吗?

这是我目前的尝试:

* testRectangle是任意视图

var content: [testRectangle]

var rectangleHeights:[CGFloat]

var totalContentHeight:CGFloat = 0

// TODO: Change to content type or make generic
init(content: [testRectangle]){
    
    self.content = content
    
    self.rectangleHeights = .init(repeating: 0, count: self.content.count)
    
    for rect in 0..<self.content.count{
        self.rectangleHeights[rect] = // HEIGHTS OF VIEWS
        self.totalContentHeight = self.totalContentHeight + self.rectangleHeight[rect]

    }
    
}

0 个答案:

没有答案