gpt4 book ai didi

ios - 当其中一项被删除时如何调整TableView高度

转载 作者:行者123 更新时间:2023-11-30 12:50:18 25 4
gpt4 key购买 nike

最初我想创建一个UITableView,它根据其内容大小具有动态高度,并遵循stackoverflow的问题来克服这种情况。那么在解决这个问题后实现了什么:

func autoAdjustToTableView(){

numberTableView.frame = CGRect(x: numberTableView.frame.origin.x, y: numberTableView.frame.origin.y, width: numberTableView.frame.size.width, height: numberTableView.contentSize.height)

}

在回答这个问题时,有人建议我应该从 viewDidAppearviewDidLayoutSubViews 中调用这个东西,他也调用了

tableView.reloadData() 

viewDidLayoutSubviews

所以我的第一个问题为什么我必须在我的代码 viewDidLayoutSubviews ??

虽然它工作正常,直到我从 tableView 中删除一个项目并调用相同的函数,但它并没有给我带来动态变化。这就是我要删除它的地方:

let alertController = UIAlertController(title: "title", message: "message", preferredStyle:UIAlertControllerStyle.alert)

alertController.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.default)
{ action -> Void in

return

})
alertController.addAction(UIAlertAction(title: "Remove", style: UIAlertActionStyle.destructive)
{ action -> Void in

self.numberArray.remove(at: indexPath.row)
self.autoAdjustToTableView()
self.numberTableView.reloadData()

})
self.present(alertController, animated: true, completion: nil)

}

在移除项目时需要做什么来改变其高度?

最佳答案

首先,您需要调用 reloadData 来更改 tableView 中的单元格。您需要调用 autoAdjustToTable View 来更改高度。

        self.numberArray.remove(at: indexPath.row)

self.numberTableView.reloadData()
self.autoAdjustToTableView()

关于ios - 当其中一项被删除时如何调整TableView高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41095461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com