前提・実現したいこと
SwiftのtableViewの一番上のセクションヘッダーのheightを40に設定し、
ラベルの表示位置を中央下に変えたいと思っています。
発生している問題・エラーメッセージ
高さは変更でき、左右に対して中央配置は出来ましたが、
上下に対してセクションヘッダーのラベル位置を変更することが出来ません
該当のソースコード
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
let header = view as! UITableViewHeaderFooterView
header.textLabel?.textAlignment = .center
if section == 0 {
header.textLabel?.frame.origin.y = 35
}
}
試したこと
①0番目のセクションヘッダーの高さを変える
heightForHeaderInSectionの中で
if section == 0 {
return 40.0
}
を書くことで実現できました。こちらは問題なく出来ました。
②セクションタイトルラベルの表示位置を左右センターにする
左右のいち合わせに関してはwillDisplayHeaderView内で
let header = view as! UITableViewHeaderFooterView
header.textLabel?.textAlignment = .center
を記述することで実現できました。
③セクションタイトルラベルの表示位置を下にする
デフォルトだと高さ40に対して中央にラベルが配置されてました。
それを高さ40の中で底辺あたりにタイトルラベルを配置したいのですが、
header.textLabel?.frame.origin.y = 35
としても、ラベルの表示位置が変わってくれません。
35の数値を何に変えてもピクリとも表示位置が動いてくれません。
どうすれば上下に対して位置を変更できるのか、
教えていただけると幸いです。
補足情報(FW/ツールのバージョンなど)
Xcode/Swift
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。