gpt4 book ai didi

ios - Tableview 在 cellforrowatindexpath 委托(delegate)方法中多次创建

转载 作者:行者123 更新时间:2023-11-28 15:10:40 25 4
gpt4 key购买 nike

我的屏幕上有两个表格 View 。 1 是 maintableview,2 在第一个 tableviewcell 里面我正在显示这个第二个 tableview。因此,我能够在显示每个表格 View 的日期时进行区分。

但是,问题是,一旦我按下第二个 tableview 单元格数据,我就会重新加载第一个 tableview 单元格的特定单元格,在该单元格中我创建了第二个 tableview,所以,每当我按下第二个 tableview 单元格时,第二个 tableview 会重复创建并添加到第一个 tableviewcell。

因此,代码如下在 cellforrowatindexpath 委托(delegate)方法中

//第一个 tableview 委托(delegate)方法并通过单击第二个 tableview 单元格数据多次重新加载此索引路径

else if indexPath.row == 1 {
//some action doing code

//later 2nd tableview creation
//for no of event days like day1, day2 etc
noOfEventDaysTableView = UITableView(frame: CGRect(x:(cell?.secondCircleGraph.frame.maxX)! + 5,y:10,width:60,height:50), style: .plain)
cell?.contentView.addSubview(noOfEventDaysTableView)
noOfEventDaysTableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
noOfEventDaysTableView.delegate = self
noOfEventDaysTableView.dataSource = self
noOfEventDaysTableView.backgroundColor = UIColor.clear
noOfEventDaysTableView.separatorColor = UIColor.clear
noOfEventDaysTableView.rowHeight = 20.0

}

在滚动第二个表格 View 数据时,它就像再次创建单元格一样。心理急救。

enter image description here

如何避免创建第2个tableview,第二次限制再次创建?

我可以通过以下方式避免

         noOfEventDaysTableView.removeFromSuperview()

有没有更好的解决方案?有什么建议。谢谢!

最佳答案

如果您在“cellForRowAt indexPath”中将 TableView 添加为“addSubview(noOfEventDaysTableView)”。然后请将它们添加到 tableview 单元格方法 awakeFromNib() 中。

override func awakeFromNib() {
super.awakeFromNib()
noOfEventDaysTableView = UITableView(frame: CGRect(x:(cell?.secondCircleGraph.frame.maxX)! + 5,y:10,width:60,height:50), style: .plain)
cell?.contentView.addSubview(noOfEventDaysTableView)
// Initialization code
}

为了比较表格 View ,为表格 View 设置标签值

tableView.tag = 999

关于ios - Tableview 在 cellforrowatindexpath 委托(delegate)方法中多次创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47714482/

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