我无法弄清楚为什么我无法根据文字数量调整我的章节标题高度。
我在此发现的大多数信息都提供了以下有关如何根据文本数量调整单元格行高度的步骤:
将以下代码添加到ViewDidLoad中的swift文件中:
tableView.estimatedRowHeight = 50.0
tableView.rowHeight = UITableViewAutomaticDimension
在制作具有动态高度的单元格行时,这对我来说非常有效,但我无法使用节标题。
我认为这就像添加:
一样简单tableView.sectionHeaderHeight = UITableViewAutomaticDimension;
tableView.estimatedSectionHeaderHeight = 50.0;
但这不起作用。我知道指定行高的代码将取消自动布局约束,因此我认为问题可能出现在某些代码中,这使得部分在轻敲手势上展开/折叠,并且它有一个图像(箭头指向/根据部分是展开还是折叠而下降。这是我认为可能导致问题的原因:
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
//recast your view as a UITableViewHeaderFooterView
let header: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView
header.contentView.backgroundColor = UIColor.colorWithHexString(hexStr: "#4f9c25")
header.textLabel?.textColor = UIColor.white
if let viewWithTag = self.view.viewWithTag(kHeaderSectionTag + section) {
viewWithTag.removeFromSuperview()
}
let borderTop = UIView(frame: CGRect(x:0, y:0, width: tableView.bounds.size.width, height: 1.0))
borderTop.backgroundColor = UIColor.self.init(red: 5/255, green: 16/255, blue: 28/255, alpha: 1.0)
header.addSubview(borderTop)
let headerFrame = self.view.frame.size
let theImageView = UIImageView(frame: CGRect(x: headerFrame.width - 32, y: 13, width: 18, height: 18));
theImageView.image = UIImage(named: "Chevron-Dn-Wht")
theImageView.tag = kHeaderSectionTag + section
header.addSubview(theImageView)
// make headers touchable
header.tag = section
let headerTapGesture = UITapGestureRecognizer()
headerTapGesture.addTarget(self, action: #selector(WeedsControlledVC.sectionHeaderWasTouched(_:)))
header.addGestureRecognizer(headerTapGesture)
}
如果这不是问题,我也尝试了以下主题中的建议,但我也无法使其工作。
Setting tableHeaderView height dynamically
任何想法我做错了什么?