Я создаю UITableView, в котором ячейка имеет автоматическую высоту. Каждая ячейка имеет 3 UILabel, которые используют Autolayout:
Я думаю, что все ограничения установлены правильно, однако я испытываю что-то странное, и некоторые ячейки с меткой Event имеют большую высоту, чем хотелось бы:
У некоторых строк высота в порядке, а у некоторых нет, высота уровня события может быть ниже.
override func viewDidLoad() {
super.viewDidLoad()
// First load table nib
let bundle = Bundle(for: type(of: self))
// Register table cell class from nib
let cellNib = UINib(nibName: "OnlineEventsCell", bundle: bundle)
tableView.register(cellNib, forCellReuseIdentifier: "onlineEventsCell")
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.tableView.estimatedRowHeight = 59.0; // set to whatever "average" cell height is
self.tableView.rowHeight = UITableView.automaticDimension;
self.navigationItem.title = NSLocalizedString("ActiveEvents", comment: "")
searchBar.delegate=self
self.refreshControl?.addTarget(self, action: #selector(refresh), for: UIControl.Event.valueChanged)
loadViewData(reloading: false, eventName: nil)
self.tableView.reloadData()
}
Вы пытались вместо этого установить
estimatedRowHeight
иrowHeight
вviewDidLoad()
?