0
私は、各セルにUIWebView
が含まれ、ウェブビューの高さがセルの高さを決定するテーブルビューを持っています。テーブルビューはUITableViewAutomaticDimension
を使用します。UIWebViewの読み込みが完了したら、どのように強制的にUITableViewCellのレイアウトを変更できますか?
class TitleTableViewCell: UITableViewCell {
@IBOutlet weak var webViewHeight: NSLayoutConstraint!
@IBOutlet weak var webView: UIWebView!
override func awakeFromNib() {
super.awakeFromNib()
webView.scrollView.isScrollEnabled = false
webView.delegate = self
}
func configure(content: String?) {
if let contentHTML = content {
let html = ("<body style=\"font-family: '-apple-system'; font-size: 16; font-weight: bold; line-height: 135%; overflow-wrap: break-word\"><style>a{text-decoration: none; color: #d64a32;}img{max-width:100%; height: auto; margin: 12px 0px;}iframe{max-width:100%; height: auto;}</style><p style=\" text-align: left\">\(contentHTML)</p></body>")
webView.loadHTMLString(html, baseURL: nil)
}
}
}
extension TitleTableViewCell: UIWebViewDelegate {
func webViewDidFinishLoad(_ webView: UIWebView) {
webViewHeight.constant = webView.scrollView.contentSize.height
layoutIfNeeded()
}
}
私は、この画面を押すと、セルの高さは、私は再び画面を開くとプッシュするまで、私はestimatedRowHeight
で定義されているが、それは完全な高さに拡張されていない高さです。 webviewの読み込みが完了したら、すぐにセルを展開することはできますか?
あなたはindexPath新しいheigthに合格した場合、より良いです –