swift UITableView单元格高度问题

flseospp  于 2023-03-17  发布在  Swift
关注(0)|答案(1)|浏览(135)

我试图配置我的tableViewCell,但布局的一些问题。
这是我的视图控制器:

下面是我的xib文件和cell:

以及它的工作原理:

视图控制器代码:

class BooksListViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
    @IBOutlet weak var searchBar: UISearchBar!
    @IBOutlet weak var booksTableView: UITableView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        setView()
    }
    
    private func setView() {
        searchBar.placeholder = "Поиск"
        booksTableView.delegate = self
        booksTableView.dataSource = self
        booksTableView.register(UINib(nibName: "BooksTableViewCell", bundle: nil), forCellReuseIdentifier: "bookCell")
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 5
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        guard let cell = booksTableView.dequeueReusableCell(withIdentifier: "bookCell", for: indexPath) as? BooksTableViewCell else {return UITableViewCell()}
   
        return cell
    }
}
klh5stk1

klh5stk11#

你可以试试tableview的delegate方法.象这样

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableView.automaticDimension
}

或者您可以指定CGFloat类型的任何高度,建议使用UITableView.automaticDimension作为tableView单元格根据tableView的高度自动调整单元格的高度。如果不修复,则约束中应该有错误/故障。

相关问题