Ios 获取UITableviewCell中子视图的实际宽度

Ios 获取UITableviewCell中子视图的实际宽度,ios,uitableview,ios13,swift4.2,xcode11.3,Ios,Uitableview,Ios13,Swift4.2,Xcode11.3,我正在尝试获取UITableview单元格中某个子视图的宽度。下面是故事板的布局。在这里,我试图以编程方式获取testView宽度 这是我的手机课 现在的问题是我第一次没有得到正确的宽度,只要我执行一些操作,比如单击单元格,我就会在LayoutSubView中得到更新后的正确宽度。例如:当我在iPhoneSE上运行这个时,预期的宽度是320,但最初,我在情节提要中得到的值是414 UITableviewCell中是否有其他方法可以获取视图的实际宽度 另外,如果我添加一个0.1秒延迟的计时器,我

我正在尝试获取UITableview单元格中某个子视图的宽度。下面是故事板的布局。在这里,我试图以编程方式获取testView宽度

这是我的手机课

现在的问题是我第一次没有得到正确的宽度,只要我执行一些操作,比如单击单元格,我就会在LayoutSubView中得到更新后的正确宽度。例如:当我在iPhoneSE上运行这个时,预期的宽度是320,但最初,我在情节提要中得到的值是414

UITableviewCell中是否有其他方法可以获取视图的实际宽度

另外,如果我添加一个0.1秒延迟的计时器,我也能让它工作,但这看起来像是一个黑客,我想知道是否还有其他方法

Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(self.update), userInfo: nil, repeats: false)

@objc func update() {
        print("Width = \(testView.frame.width)") //Works fine
        testLabel.text = "Testview Frame width is =\(testView.frame.width)"
    }

如果您解释了为什么要获取宽度,那么回答您的问题就更容易了。请调用
super.layoutSubviews()
作为覆盖的第一行。@matt,尝试添加super.layoutSubviews(),但仍然是一样的。@DonMag,我正试图以编程方式向其中添加一些子视图,它工作正常,但由于这个问题,在初始负载时有一个宽度问题,因为最初我没有得到正确的结果width@iOSDev2013-让我重新表述一下。。。你想做什么,你会需要绝对宽度,而不是使用自动布局?
Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(self.update), userInfo: nil, repeats: false)

@objc func update() {
        print("Width = \(testView.frame.width)") //Works fine
        testLabel.text = "Testview Frame width is =\(testView.frame.width)"
    }