我有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
现在可以调整大小。
如何在不切换屏幕的情况下更新视图?我使用的是setNeedsDisplay
和v.layoutIfNeeded
,但它无济于事。
我该如何解决这个问题?