Может быть, вам нужна не первая ячейка, которую можно прокручивать вместе с другими ячейками, а заголовок, который остается на своем месте, пока прокручиваются другие ячейки.Если это так, вы можете использовать:
override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return "Section \(section)"
}
Это создает простой текстовый заголовок.
Если вы хотите использовать настраиваемый заголовок, вам нужно было определить представление заголовка:
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView() // Here you had to use a view that you set up earlier
return view
}
Эти заголовки могут быть созданы для каждого раздела вашей таблицы.
РЕДАКТИРОВАТЬ:
Я реализовал простой проект tableView и добавил код, предоставленный Симке в его / ее комментариях.
import Foundation
import UIKit
class TableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 3
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell")!
cell.textLabel?.text = "Title"
return cell
}
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let vw = UIView()
vw.frame.size.height = 40
let btnBk = UIButton(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: vw.frame.height))
btnBk.backgroundColor = .blue
btnBk.setTitle("back", for: .normal)
btnBk.addTarget(self, action: #selector(btnAct), for: .touchUpInside)
vw.addSubview(btnBk)
return vw
}
@objc func btnAct(sender: UIButton!){
print("a")
}
}
Здесь кнопка в представлении заголовка работает, т. Е. В журналах печатается «a».