やりたいこと
xibで作成したtableViewにカスタムヘッダーviewを加えたいです。
前提
Xcode:12.1
Swift:5.3.1
やったこと
❶viewをxibで作成(HeaderView.xib)
❷UITableViewHeaderFooterViewを継承したクラスを作る。❶の制御クラスに。(Header.swift)
❸tableViewでセクションViewを独自ヘッダーとして生成。
・コードは下記です。
❹tableViewのstyleを「plain」にした場合。
・ヘッダーがスクロールしてもついてくる
❺tableViewのstyleを「Grouped」にした場合。
・ヘッダーが消える。
スクロールしたときに、追加したヘッダーがついてこないようにしたいです。
どなたかご助言いただけると助かります。
よろしくお願いします。
Swift
1 override func viewDidLoad() { 2 super.viewDidLoad() 3 tableView.delegate = self 4 tableView.dataSource = self 5 //xibファイルを読み込む 6 let nib = UINib(nibName: "TableViewCell", bundle:nil) 7 tableView.register(nib,forCellReuseIdentifier: "reuseIdentifier") 8 tableView.separatorStyle = .none 9 tableView.allowsSelection = false 10 //ヘッダーを追加 11 let headerNib = UINib(nibName: "HeaderView", bundle: nil) 12 tableView.register(headerNib, forHeaderFooterViewReuseIdentifier: "HeaderView") 13 //セクションヘッダーの高さを決定 14 tableView.sectionHeaderHeight = 200 15 } 16 //headerView 17 override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 18 let view = tableView.dequeueReusableHeaderFooterView(withIdentifier: "HeaderView") 19 20 return view 21 } 22 23
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。