我尝试根据内容改变tableview
的高度,但是我做到了,但是在tableView
之下的东西会有label
。每当工作台高度增加或减少时,该label
都应低于此高度。我试过了,但是label
处于初始提供的桌子高度。如果有任何帮助,这样做会很棒。
答案 0 :(得分:0)
首先,您必须进行滚动视图,然后将tableview和标签添加到contentView中。设置contentView的高度为动态,并将IBOutlet设置为tableView高度约束,如下所示。
@IBOutlet var constTableHeight : NSLayoutConstraint!
重新加载表后,设置constTableHeight的值
let heightTBL : CGFloat = (tblView?.contentSize.height)!
constTableHeight?.constant = heightTBL
答案 1 :(得分:0)
在您的viewDidLoad方法中,添加
self.tableView.estimatedRowHeight = 44 //默认表格视图单元格高度
然后将其添加到您的班级中
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
答案 2 :(得分:0)
如果您已在代码中使用过,请首先删除以下代码。我们不需要它。
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 50
}
接下来,在设置UITableViewCell
时,请确保未设置高度限制之一。这是标题和说明的示例。
/* Setup title label */
NSLayoutConstraint.activate([
titleLabel.topAnchor.constraint(equalTo: topAnchor, constant: 0),
titleLabel.leftAnchor.constraint(equalTo: leftAnchor, constant: 10),
titleLabel.rightAnchor.constraint(equalTo: rightAnchor, constant: -10),
titleLabel.heightAnchor.constraint(equalToConstant: 40)
])
/* Setup description label */
NSLayoutConstraint.activate([
descriptionLabel.topAnchor.constraint(equalTo: titleLabel.bottomAnchor, constant: 0),
descriptionLabel.leftAnchor.constraint(equalTo: titleLabel.leftAnchor, constant: 0),
descriptionLabel.rightAnchor.constraint(equalTo: titleLabel.rightAnchor, constant: 0),
descriptionLabel.bottomAnchor.constraint(equalTo: bottomAnchor, constant: 0)
])
不要忘记将numberOfLines
的{{1}}设置为零。
繁荣,您完成了。
答案 3 :(得分:0)
如果您希望基于其中的标签来增加表格视图单元格的高度,则必须实施这样的几种方法( Swift 4 )
1-此方法告诉单元格自动增加您的身高
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
2-任意估算行高140
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return 140
}
3-当您将标签放置在单元格中时,请确保行数为“ 0”。在其中添加顶部,顶部,底部和尾部页边距。
答案 4 :(得分:0)
override func viewDidLoad()
{
Tablename.estimatedRowHeight = 100
Tablename.rowHeight = UITableViewAutomaticDimension
}
在Tableview单元格中,请不要忘记为单元格的最后一个ui组件提供顶部,前导,尾随和底部边距,以使其大小动态。