Я пытаюсь использовать метод heightForRowAtIndexPath
в своем UITableViewController
. Но когда я пытаюсь переопределить метод, он говорит, что он не отменяет никаких методов из своего суперкласса.Как использовать метод heightForRowAtIndexPath?
Googling привел меня к протоколам, которые потенциально могут быть частью головоломки, но я все еще пытаюсь понять, как использовать протокол для использования этого метода.
Любая помощь была бы принята с благодарностью. Вот код: (проблемный метод находится в самом низу)
import UIKit
import Firebase
class FruitsTableViewController: UITableViewController {
let rootRef = FIRDatabase.database().reference()
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 15
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell", for: indexPath)
let busRef = rootRef.child("buses")
busRef.observeSingleEvent(of: .value, with: {(snapshot) in
if let snapshots = snapshot.children.allObjects as? [FIRDataSnapshot] {
let bus = snapshots[Int(indexPath.row)].key
let busval = snapshots[Int(indexPath.row)].value as! String
cell.textLabel?.text = "Bus \(bus) ------- \(busval)"
}
})
return cell
}
override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return "Section \(section)"
}
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 40.0
}
}
Отличный ответ, спасибо. Установка высоты строки в пользовательскую в Main.storyboard и настройку высоты там не работает. –