Swift不会更新视图约束

时间:2017-03-30 22:07:22

标签: ios swift uitableview uiwebview constraints

我有UIWebView。我使用此代码:

func webViewDidFinishLoad(_ webView: UIWebView) {
    self.webView.frame.size.height = 1

    self.cardBoxNameTopConstraint.constant = webView.sizeThatFits(CGSize.zero).height

    self.webView.frame.size.height = webView.sizeThatFits(CGSize.zero).height
    self.webView.scrollView.contentSize.height = webView.sizeThatFits(CGSize.zero).height
    self.contentView.frame.size.height = webView.sizeThatFits(CGSize.zero).height

    for v in self.contentView.subviews {
        v.setNeedsDisplay()
        v.layoutIfNeeded()
    }
}

此代码用于获取内容大小然后应用它并调整视图大小,但第一次加载视图时,它会调整UIWebView的大小,而UITableViewCell不可滚动。当我使用UISegmentControl转到另一个屏幕并使用我的UIWebView返回到屏幕时,它会自行调整大小,UITableViewCell现在可以调整大小。

如何在不切换屏幕的情况下更新视图?我使用的是setNeedsDisplayv.layoutIfNeeded,但它无济于事。

我该如何解决这个问题?

0 个答案:

没有答案