Я пытаюсь, чтобы все строки в моей таблице имели собственную высоту строки, основанную на строках текста на ярлыке в этой ячейке. Моя точка отправления является Wenderlich Учебник здесь: https://www.raywenderlich.com/129059/self-sizing-table-view-cellsСтроки все одинаковой высоты после использования UITableViewAutomaticDimension
Я использую метод UITableViewAutomaticDimension
, как вы можете увидеть ниже. Но по какой-то причине, когда я запускаю симуляцию, все строки имеют одинаковую высоту. Кажется, не имеет значения, какое число я использовал для оценки высоты строки в коде или того числа, которое я набрал для высоты строки в ячейке просмотра таблицы в раскадровке. Он всегда выходит на одну и ту же высоту для всех строк.
Что мне здесь не хватает? Спасибо всем!
import UIKit
class LoLFirstTableViewController: UITableViewController {
var tasks:[Task] = taskData
override func viewDidLoad() {
super.viewDidLoad()
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 60.0
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return tasks.count
}
@IBAction func cancelToLoLFirstTableViewController(_ segue:UIStoryboardSegue) {
}
@IBAction func saveAddTask(_ segue:UIStoryboardSegue) {
if let AddTaskTableViewController = segue.source as? AddTaskTableViewController {
if let task = AddTaskTableViewController.task {
tasks.append(task)
let indexPath = IndexPath(row: tasks.count-1, section: 0)
tableView.insertRows(at: [indexPath], with: .automatic)
}
}
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)
-> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TaskCell", for: indexPath)
as! TaskCell
let task = tasks[indexPath.row] as Task
cell.task = task
return cell
}
}
`
показать свою ячейку. У вас должны быть неправильные ограничения автоопределения. –
У вас есть контент, который должен иметь размер по-разному от ячейки к ячейке? Относительно * «Кажется, не имеет значения, какое число я добавляю для оценки высоты строки в коде или того числа, которое я ввел для высоты строки в ячейке просмотра таблицы в раскадровке» *; ни одна из этих вещей не имеет значения при определении конечной высоты ячейки авторазмера. – Connor
Да, контент должен быть разным, по-разному, от ячейки к ячейке. Мой пример текста варьируется от одной строки до трех строк. Я прикрепляю скриншоты моих ограничений и то, что на данный момент выглядит выход симулятора. Спасибо Умайру и Коннору! –