Swiftでコーディング3.カスタムセルとヘッダーを持つtableViewを持ってください。heightForHeaderInSectionは一度だけ呼び出されます
私はカスタムのセルとヘッダーを持つtableViewを持っています。ヘッダーには2つのラベルがあり、ラベルが長いため動的なセルの高さがあります。私の問題は、tableViewとセクションが初めて設定されたときに、ラベルが表示されるように表示されます。ただし、スクロールしてからヘッダーのレイアウトをバックアップすると、何らかの理由でブレークします。
私は細胞にまで戻った後、下にスクロールした後に、下記見ることができるように、ラベルは、カットオフを得ています。
メソッドが呼び出されているかを印刷した後、私は、最初の時間は、2つ(2)オーバーライド機能が呼び出される以下のtableViewをスクロールダウンすることを見出しました。
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
print("\(section) heightForHeaderInSection")
print("\(section) returning AUTO for header")
return UITableViewAutomaticDimension
}
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
print("\(section) viewForHeaderInSection")
let header = tableView.dequeueReusableCell(withIdentifier: "QuestionHeader") as! QuestionHeader
header.delegate = self
header.contentView.backgroundColor = UIColor.groupTableViewBackground
header.questionTextLabel.text = String(questionStringArray[section])
header.questionNumberLabel.text = (String(section + 1) + ")")
return header.contentView
}
しかし、私はバックアップにスクロールするときONLY viewForHeader関数が呼び出され、高さはもはやラベルがカットオフを得るUITableViewAutomaticDimensionに設定されているので、私は考えていませんか?
アイデア?
@ozgurは正しいです! –
@ozgur私はupvotingしようとしましたが、間違って '取り消し'してしまいました。私はあなたにアップアップすることができるようにあなたの答えを投稿しますか?再度、感謝します! –