Следующий код динамически устанавливает высоту, используя ограничение. Этот код должен работать.
viewController.Swift
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet var tableView: UITableView!
@IBOutlet var tableviewHeightConstraint: NSLayoutConstraint! //This constraint is your tableview height constraint
var arrayItems = ["iOS", "Swift", "Apple", "Program", "output", "code","viewController","tableview"]
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.dataSource = self
self.tableView.delegate = self
self.tableView.register(UINib(nibName: "heightTableViewCell", bundle: nil), forCellReuseIdentifier: "heightTableCell")
self.tableView.reloadData()
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.arrayItems.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCell(withIdentifier: "heightTableCell") as! heightTableViewCell
cell.label.text = self.arrayItems[indexPath.row]
// Your Tableview Height (Dynamically Change the height)
self.tableviewHeightConstraint.constant = self.tableView.contentSize.height
return cell
}
}
heightTableViewCell.swift
class heightTableViewCell: UITableViewCell {
@IBOutlet var label: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
Примечание: scrollView должен отменить выбор опции прокрутки в Инспекторе атрибутов