gpt4 book ai didi

ios - tableHeaderView 内容的高度将无法正常工作

转载 作者:行者123 更新时间:2023-11-30 10:57:30 27 4
gpt4 key购买 nike

我正在尝试通过放置在其中的 UILabel 设置 tableHeaderView 高度。但由于某种原因,我遇到了问题,高度小于标签的内容,有时标签不会显示全文。

这就是它的样子:

enter image description here

它应该是这样的:

enter image description here

这是我的代码:

extension UITableView {
public func relayoutTableHeaderView() {
if let tableHeaderView = tableHeaderView {
let labels = tableHeaderView.findViewsOfClass(viewClass: UILabel.self)
for label in labels {
label.preferredMaxLayoutWidth = label.frame.width
}
tableHeaderView.setNeedsLayout()
tableHeaderView.layoutIfNeeded()
tableHeaderView.frame.size.height = tableHeaderView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize).height
self.tableHeaderView = tableHeaderView
print(tableHeaderView.frame)
}
}
}

extension UIView {
public func findViewsOfClass<T:UIView>(viewClass: T.Type) -> [T] {
var views: [T] = []
for subview in subviews {
if subview is T {
views.append(subview as! T)
}
views.append(contentsOf: subview.findViewsOfClass(viewClass: T.self))
}
return views
}
}

这段代码的资源here .

最佳答案

您没有使用将行数归零

    extension UITableView {
public func relayoutTableHeaderView() {
if let tableHeaderView = tableHeaderView {
let labels = tableHeaderView.findViewsOfClass(viewClass: UILabel.self)
for label in labels {
label.preferredMaxLayoutWidth = label.frame.width
label.numberOfLines = 0
}
tableHeaderView.setNeedsLayout()
tableHeaderView.layoutIfNeeded()
tableHeaderView.frame.size.height = tableHeaderView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize).height
self.tableHeaderView = tableHeaderView
print(tableHeaderView.frame)
}
}
}

关于ios - tableHeaderView 内容的高度将无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53776877/

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