Я изучаю iOS программирование в кратчайшие сроки по книге "iOS Программирование: Руководство по ранчо большого ботаника (6-е издание)", но это кажется немного устаревшим. Я столкнулся с проблемой при добавлении заголовка в UIViewTable в раскадровке. В книге было предложено добавить UIView поверх ячейки прототипа, разместить там кнопки с ограничениями, и это все, но в моем случае это не работает. Кнопки не отображаются :( Итак, это выглядит так:
Не могли бы вы помочь мне с этим примером, пожалуйста?
My ItemsViewController.swift :
import UIKit
class ItemsViewController: UITableViewController {
var itemStore: ItemStore!
@IBAction func addNewItem(_ sender: UIButton) {
}
@IBAction func toggleEditingMode(_ sender: UIButton) {
if isEditing {
sender.setTitle("Edit", for: .normal)
setEditing(false, animated: true)
} else {
sender.setTitle("Done", for: .normal)
setEditing(true, animated: true)
}
}
override func viewDidLoad() {
super.viewDidLoad()
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return itemStore.allItems.count + 1
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "UITableViewCell", for: indexPath)
if itemStore.allItems.count == indexPath.row {
cell.textLabel?.text = "No more items"
} else {
let item = itemStore.allItems[indexPath.row]
cell.textLabel?.text = item.name
cell.detailTextLabel?.text = "$\(item.valueInDollars)"
}
return cell
}
}
UPD: Я сделал это программно через tableView(_:viewForHeaderInSection:)
, но это не удобно. Есть ли способ добиться того же эффекта с помощью раскадровки?