我認爲你缺少設置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