備忘も兼ねて。
iOS14までは問題なかったのに、iOS15になるとクラッシュしてしまう箇所があった。
下記の内容がTableViewCellを読み込んだ際にクラッシュするというもので、調べてみるとレイアウト関連が悪さしているらしい。
Must translate autoresizing mask into constraints to have
_setHostsLayoutEngine:YES.
手がかりであるsetHostsLayoutEngineで調べ見てると、
UITableView.xibの設定にある
Layout:Autoresizing Mask → Inferred
の修正で良いみたいなんですが、これでは私の環境ではダメでした。
また、Inferredだとレイアウトが崩れてしまっていたという事もあり、レイアウトまで触っている時間が無かった為、Autoresizing Maskに戻しました。
最終的には、UITableViewCellをソースコードで開き、tableViewCellContentViewタグ内にある
translatesAutoresizingMaskIntoConstraints="NO"
を削除する事により、クラッシュする事はなくなった為、問題なさそう。
TableViewHeaderでは不自然な余白が入るようになってしまっており、TableViewHeaderが原因なのは明白だった為、
iOS15のUITableViewHeaderの上部に空白ができる
を参考にさせていただき、Headerの高さを設定する箇所に追記した事により、無事元通りになったので、一先ずは良かったかなと。
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
if #available(iOS 15,*){
tableView.sectionHeaderTopPadding = 0.0
}
~ 略 ~
}