2017-08-06 75 views
0

我有我的代碼如何給動態高度UITableView的

tableView = UITableView(frame: CGRect(x:0,y:0,width:0,height:0)) 
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cellReuseIdentifier") 
tableView.delegate = self 
tableView.dataSource = self 
tableView.translatesAutoresizingMaskIntoConstraints = false 
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return comments.count 
} 
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell:UITableViewCell = self.tableView.dequeueReusableCell(withIdentifier: "cellReuseIdentifier") as UITableViewCell! 

    cell.textLabel?.text = self.comments[indexPath.row] 
    return cell 
} 

一個UITableView,我想給一個動態的高度,這UITableView.I試過兩件事情

tableView.estimatedRowHeight = 88.0 
    tableView.rowHeight = UITableViewAutomaticDimension 

    tableView.heightAnchor.constraint(equalToConstant: tableView.contentSize.height).isActive = true 

,沒有他們工作。

回答

0

你並不需要使用下面的一行代碼一旦設定了UITableViewAutomaticDimension

tableView.heightAnchor.constraint(equalToConstant: tableView.contentSize.height).isActive = true 

的問題可能是你的autolayout約束這似乎並不適當。因此,您需要確保在tableViewCell對象內正確固定了前導,尾隨,頂部和底部約束。

注: - 如果你正在使用的UILabel然後設置的行數= 0

+0

我只有頂部,左,右的約束,而不底部'UITableView'和細胞內的,我不除文本外,還有其他任何內容 – sakoaskoaso

+0

您還需要設置底部約束。否則,你的tableViewcell將不能正確調整大小。 –

+0

但這會自動定義它的高度不是嗎?我試圖將它的底部固定到它的父級UIView,並將它調整到父級的高度 – sakoaskoaso

相關問題