Если вы используете
tableView (_ tableView: UITableView, titleForHeaderInSection section: Int) -> String?
вместо пользовательского UITableViewHeaderFooterView, вы можете решить его, вызвав setNeedsLayout ().
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
guard let header = view as? UITableViewHeaderFooterView else {return}
header.textLabel?.textAlignment = .center
header.setNeedsLayout()
}
Другой способ
Подкласс UITableViewHeaderFooterView и использование ниже функций
func register(_ nib: UINib?, forHeaderFooterViewReuseIdentifier identifier: String)
func register(_ aClass: AnyClass?, forHeaderFooterViewReuseIdentifier identifier: String)
tableView (_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
Вы можете установить
textLabel.aligment = .center
в конструкторе подкласса класса.