gpt4 book ai didi

ios - 在单击不同的 TableView 单元之前,TableView 单元不加载 View Controller

转载 作者:搜寻专家 更新时间:2023-11-01 06:13:13 26 4
gpt4 key购买 nike

我四处搜索,并没有真正找到发生这种情况的原因。基本上,我遵循了本教程 https://www.youtube.com/watch?v=yupIw9FXUso Jared Davison 关于为多 View Controller 创建 TableView 单元的文章。在他的示例中,一切正常,但由于某种原因,当您单击我代码中的表格 View 单元格时,该单元格以灰色突出显示。然后,当用户点击一个单独的 TableView 单元格时,第一个 TableView 单元格应该加载的 View Controller 被加载。如果用户随后单击返回原始表格 View 单元格,则加载本应由第二个表格 View 单元格加载的页面。总之,所有 View Controller 都在“点击”后加载。

这是 TableView 的代码:

//Feed Navigation Functions
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return elements.count
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 75
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "feedCell") as! FeedTableViewCell
cell.txtTitle.text = "The Fight Against \(elements[indexPath.row])"
cell.issueIcon.image = UIImage(named: "Issue Icons_\(elements[indexPath.row])")
return cell
}
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
let vcName = identities[indexPath.row]
let viewController = storyboard?.instantiateViewController(withIdentifier: vcName)
self.navigationController?.pushViewController(viewController!, animated: true)
}

更新:该数组是一个简单的字符串数组,例如 [One, Two, Three] 数组中有 6 个字符串。

最佳答案

当您选择一个单元格然后选择另一个单元格时,方法 didDeselectRow 被调用,因此 Vc 被推送您实际上想要实现 didSelectRowAt

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

let vcName = identities[indexPath.row]
let viewController = storyboard?.instantiateViewController(withIdentifier: vcName)
self.navigationController?.pushViewController(viewController!, animated: true)

// this to deSelect it after push
tableView.deselectRow(at: indexPath, animated: false)

}

选中单元格时触发此方法

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath

取消选择单元格时触发此方法

func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath

关于ios - 在单击不同的 TableView 单元之前,TableView 单元不加载 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50776399/

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