我认为你缺少设置rowHeight
和estimatedRowHeight
的实现代码如下,请您及时发现代码中,我使用
var arrayOfCellData = [Any]()
override func viewDidLoad() {
super.viewDidLoad()
arrayOfCellData = [cellData(cell : 1, text : "asdadas", image : #imageLiteral(resourceName: "mark")),
cellconfigData(cell : 2, text : "dasdadad", image : #imageLiteral(resourceName: "mark")),
cellData(cell : 3, text : "asraerqsadas", image : #imageLiteral(resourceName: "mark")),
cellconfigData(cell : 4, text : "asraerqsadas", image : #imageLiteral(resourceName: "mark")),
cellData(cell : 5, text : "asraerqsadas", image : #imageLiteral(resourceName: "mark")),
cellconfigData(cell : 6, text : "asraerqsadas", image : #imageLiteral(resourceName: "mark"))]
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 245
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return arrayOfCellData.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let item = arrayOfCellData[indexPath.row]
if item is cellData{
let cell = Bundle.main.loadNibNamed("OwnTableViewCell", owner: self, options: nil)?.first as! OwnTableViewCell
cell.mainImageView.image = (arrayOfCellData[indexPath.row] as! cellData).image
cell.mainLabel.text = (arrayOfCellData[indexPath.row] as! cellData).text
return cell
}
else
{
let cell = Bundle.main.loadNibNamed("NewTableViewCell", owner: self, options: nil)?.first as! NewTableViewCell
cell.mainImageView.image = (arrayOfCellData[indexPath.row] as! cellconfigData).image
cell.mainLabel.text = (arrayOfCellData[indexPath.row] as! cellconfigData).text
return cell
}
}
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
let item = arrayOfCellData[indexPath.row]
if item is cellData{
return UITableViewAutomaticDimension
}
else if item is cellconfigData{
return 100
}
return 0.0
}
newsHandler.feed是这个数组同时持有新闻和ConfigurationBit对象 – Vinodh
肯定。我编辑它,所以现在它不那么困惑。 –
你的代码没问题,让我们打印一下view.bounds.size.height,看看它的大小是否正确。 – Nick