UITableView и заголовок исправления

#ios #uitableview #cocoa-touch

#iOS #uitableview #cocoa-touch

Вопрос:

У меня есть представление вертела. Мастер — это табличное представление. Я хочу поместить фиксированную метку над представлением таблицы (например, фиксированный заголовок). Как я могу сделать это в раскадровке?

Комментарии:

1. Перетащите представление в верхнюю часть вашего TableView, и Interface Builder вставит его как tableViewHeader .

2. Вам нужен фиксированный заголовок, который остается присутствующим при прокрутке? Или, как сказал @alexburtnik, просто общий заголовок таблицы?

3. Мне нужен фиксированный заголовок, который остается при прокрутке.

Ответ №1:

В представлении таблицы контроллер не может добавить фиксированную часть. Но вы можете использовать контроллер представления и представление таблицы в нем. С помощью этого решения вы можете установить фиксированный pat сверху, снизу или в виде таблицы.

  1. Сначала добавьте контроллер представления в раскадровку
  2. добавьте tableview для просмотра контроллера
  3. В инспекторе, просмотр таблицы > установить ячейку прототипа = 1
  4. В инспекторе, ячейка просмотра таблицы> установить идентификатор = ячейка
  5. Добавьте viewcontroller.swift и напишите на нем этот код, как показано ниже

импортируйте UIKit

 class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {

@IBOutlet weak var tableView: UITableView!

var arrayTest : [String] = []

override func viewDidLoad() {
    super.viewDidLoad()

    arrayTest = ["iPad","iPhone","iPod","macOS","iOS"]

    tableView.delegate = self
    tableView.dataSource = self

    tableView.reloadData()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    return arrayTest.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)

    cell.textLabel?.text = arrayTest[indexPath.row]

    return cell
}
  

}

  1. На этом шаге ваша таблица настроена на просмотр контроллера, и вы можете добавить представление в верхней части таблицы и добавить метку в представлении.

Теперь у вас есть фиксированный заголовок поверх табличного представления. Вы можете увидеть изображение всех шагов на этом рисунке. Наслаждайтесь этим. Все изображение toturial

Комментарии:

1. Это именно то поведение, которое мне нужно! Я собираюсь попробовать это как можно скорее. Спасибо