我正在使用表格視圖并且在其單元格中有一個標簽。我想要的是在每次點擊單元格時更改單元格標簽。這是我的代碼:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath)
switch indexPath {
case 1:
cell.cellLabel.text = "first time label changes"
case 2:
cell.cellLabel.text = "second time label changes"
default:
cell.cellLabel.text = "change the label"
}
}
現在,如果我使用:
切換 indexPath.row {...}
只有情況 1 有效。如果我只使用:
切換索引路徑{...}
它給了我以下錯誤:
“Int”型別的運算式模式不能匹配“IndexPath”型別的值
有沒有人有一個解決方案,如果我第一次點擊一個單元格,案例 1 應該可以作業,如果我再次點擊它,案例 2 應該可以作業?
uj5u.com熱心網友回復:
試試我的代碼
var count = 0
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
count = 1
let cell = tableView.cellForRow(at: indexPath)
switch count {
case 1:
cell.cellLabel.text = "first time label changes"
case 2:
cell.cellLabel.text = "second time label changes"
default:
cell.cellLabel.text = "change the label"
}
}
如果你需要“第一次”,當你觸摸它 3 次時
var count = 0
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
count = 1
if count > 2 {
count = 1
}
let cell = tableView.cellForRow(at: indexPath)
switch count {
case 1:
cell.cellLabel.text = "first time label changes"
case 2:
cell.cellLabel.text = "second time label changes"
default:
cell.cellLabel.text = "change the label"
}
}
uj5u.com熱心網友回復:
var selectedRows = [Int]()
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath){
selectedRows.append(indexPath.row)
print(selectedRows)
self.tableView.reloadData()
}
}
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
if let index = selectedRows.firstIndex(of: indexPath.row) {
selectedRows.remove(at: index)
}
print(selectedRows)
self.tableView.reloadData()
if selectedRows.isEmpty{
}
}
}
class TableViewCell: UITableViewCell{
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
if (selected) {
print("selected")
selectImage.image = UIImage(named:"secondImage")
} else {
selectImage.image = UIImage(named:"secondImage")
}
}
}
如果你需要多選寫 tableView.allowMultipleSelection = true
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/398784.html
上一篇:UICollectionView未顯示,cellForItemAt和numberOfItemsInSection未呼叫
下一篇:在SwiftUI中初始化嵌套結構
