gpt4 book ai didi

ios - UITableViewCell 高度自动不调整大小

转载 作者:行者123 更新时间:2023-11-28 13:52:38 25 4
gpt4 key购买 nike

我在 tablecell 中有 UIView,在 UIView 中我有 WKWebView。 UITableView.automaticDimension 正在运行,只有当设置了 UIView 高度时,webview 中的数据才可见。否则它不是。但我希望 UIView 高度根据其中的内容是动态的。

StoryBoardImageLink

这是我的 WebView 代码:

var webView = WKWebView()
var htmlStrings: String?

@IBOutlet weak var webViewContainer: UIView!

var oiiiiurHtmlString = "<div class=\"html-content pdp-product-highlights\">\n<p><b data-spm-anchor-id=\"a2a0e.pdp.product_detail.i4.a55420b7mofmmi\">SPECIFICATIONS</b></p>\n<ul class=\"\">\n<li class=\"\" data-spm-anchor-id=\"a2a0e.pdp.product_detail.i2.a55420b7mofmmi\">Brand: Samsung</li><li class=\"\" data-spm-anchor-id=\"a2a0e.pdp.product_detail.i2.a55420b7mofmmi\">Brand: Samsung</li><li class=\"\" data-spm-anchor-id=\"a2a0e.pdp.product_detail.i2.a55420b7mofmmi\">Brand: Samsung</li><li class=\"\" data-spm-anchor-id=\"a2a0e.pdp.product_detail.i2.a55420b7mofmmi\">Brand: Samsung</li><li class=\"\" data-spm-anchor-id=\"a2a0e.pdp.product_detail.i2.a55420b7mofmmi\">Brand: Samsung</li><li class=\"\" data-spm-anchor-id=\"a2a0e.pdp.product_detail.i2.a55420b7mofmmi\">Brand: Samsung</li><li class=\"\" data-spm-anchor-id=\"a2a0e.pdp.product_detail.i2.a55420b7mofmmi\">Brand: Samsung</li><li class=\"\" data-spm-anchor-id=\"a2a0e.pdp.product_detail.i2.a55420b7mofmmi\">Brand: Samsung</li><li class=\"\" data-spm-anchor-id=\"a2a0e.pdp.product_detail.i2.a55420b7mofmmi\">Brand: Samsung</li>\n<li class=\"\">Model No: RR19M20A2RH</li>\n<li class=\"\">Color: Scarlet Red</li>\n<li class=\"\">Capacity: 192Ltrs</li>\n\n</ul>\n</div>\n"

var a = "<html><body><font size = 50px face = Avenir"
var b = "</font></body></html>"

override func awakeFromNib() {
super.awakeFromNib()
htmlStrings = a + oiiiiurHtmlString + b
productDetailsWebView()
}

func productDetailsWebView(){
let webConfiguration = WKWebViewConfiguration()
let customFrame = CGRect.init(origin: CGPoint.zero, size: CGSize.init(width: 0.0, height: self.webViewContainer.frame.size.height))
self.webView = WKWebView (frame: customFrame , configuration: webConfiguration)
webView.loadHTMLString(htmlStrings!, baseURL: nil)
webView.translatesAutoresizingMaskIntoConstraints = false
self.webViewContainer.addSubview(webView)
webView.topAnchor.constraint(equalTo: webViewContainer.topAnchor).isActive = true
webView.rightAnchor.constraint(equalTo: webViewContainer.rightAnchor).isActive = true
webView.leftAnchor.constraint(equalTo: webViewContainer.leftAnchor).isActive = true
webView.bottomAnchor.constraint(equalTo: webViewContainer.bottomAnchor).isActive = true
webView.heightAnchor.constraint(equalTo: webViewContainer.heightAnchor).isActive = true
webView.uiDelegate = self
}

最佳答案

我觉得你的垂直约束有点奇怪。你能用下面的方式设置它们吗? (见附件)。确保有一组垂直约束流将单元格的顶部连接到底部 - 这决定了单元格将如何调整大小。

如下所示设置约束后,创建一个从其他内容底部到单元格底部的新约束,并将其值设置为大于或等于 20(或任何其他值)

最后,在您的 View Controller 中,确保调用以下内容:

tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 200 //Again you can change this to whatever suits your needs

注意:确保将 Web View 的约束绑定(bind)到其父 View 。并为父 View 设置一个最小高度。

enter image description here

关于ios - UITableViewCell 高度自动不调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54361228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com