我想限制tableView的行数比如我想一开始只显示2行如果用户点击"按钮,然后显示所有行。tableView的data (array)来自CoreData。我已经在另一个ViewController中输入(保存)了所有的数据,并在另一个ViewController上获取数据。可能存在数据为nil的情况。目前,我像这样显示所有行——>返回数组中。但是我不知道如何达到我的条件?
您只需要一个属性来指示是否要显示所有行。
var showAllRows = false
在numberOfRowsInSection
数据源方法中检查该值:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if showAllRows {
return array.count
} else {
return min(2, array.count)
}
}
然后您的按钮处理程序需要更新showAllRows
并重新加载表视图。
showAllRows = true
tableView.reloadData()
声明布尔变量,
var showMoreRows = false
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if showMoreRows {
return array.count
} else if array.count > 2 {
return 2
} else {
return 0
}
再次点击触发事件,如
func showMoreRowsClick() {
self.showMoreRows.toggle()
self.tableView.reloadData()
}