如何在表格视图中以编程方式选择一行? (斯威夫特 4.0)
Posted
技术标签:
【中文标题】如何在表格视图中以编程方式选择一行? (斯威夫特 4.0)【英文标题】:How to select a row programmatically in table View ? (Swift 4.0) 【发布时间】:2018-10-29 14:24:43 【问题描述】:我有一个 tableViewController,我的数据源运行良好,但我无法以编程方式选择一行。
我试过了:
class DocumentTableViewController: UITableViewController
override func viewDidLoad()
super.viewDidLoad()
tableView.selectRow(at: IndexPath(row: 0, section: 0), animated: true, scrollPosition: UITableViewScrollPosition(rawValue: 0)!)
当我运行时,tableView 没有选择任何内容。 我该如何解决?
【问题讨论】:
那时(viewDidLoad)你设置了tableView数据源和委托吗?它现在有数据吗? 你设置了代理吗? UITableViewController 中不需要委托和数据源 这能回答你的问题吗? How to programmatically select a row in UITableView in Swift 【参考方案1】:你的线很早,试一下
override func viewWillAppear(_ animated: Bool)
super.viewWillAppear(animated)
tableView.selectRow(at: IndexPath(row: 0, section: 0), animated: true, scrollPosition: UITableViewScrollPosition(rawValue: 0)!)
或者这个里面viewDidLoad
tableView.reloadData()
tableView.selectRow(at: IndexPath(row: 0, section: 0), animated: true, scrollPosition: UITableViewScrollPosition(rawValue: 0)!)
【讨论】:
【参考方案2】:在 Swift 5 中:
tableView.selectRow(at: IndexPath(row: 0, section: 0), animated: true, scrollPosition: UITableView.ScrollPosition(rawValue: 0)!)
【讨论】:
以上是关于如何在表格视图中以编程方式选择一行? (斯威夫特 4.0)的主要内容,如果未能解决你的问题,请参考以下文章