我的表格视图如下所示
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return appsName!.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
cell.appTimeLabel.isHidden = array[indexPath.row]
cell.appNameLabel.text = appsName![indexPath.row]
cell.appTimeLabel.text = appTimeLimit![indexPath.row]
return cell
}
我的表格视图单元格类:
class TableViewCell: UITableViewCell {
@IBOutlet weak var appNameLabel: UILabel!
@IBOutlet weak var setLimitButton: UIButton!
@IBOutlet weak var appIcon: UIImageView!
@IBOutlet weak var appTimeLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
我的行选择功能:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
array[indexPath.row] = !array[indexPath.row]
}
布尔值数组:
var array = [Bool](repeating:false, count: 200)
这是我的代码,我想显示无限标签并在其选择的单元格中设置“限制”按钮:
最初将setlimit按钮和无限制标签设置为隐藏。
实际工作单元截图(android):
这该怎么做?
最佳答案
您可以像这样为您的细胞数据创建字典;
var myDic = [["appName": "app1",
"appTime": "unlimited",
"isSelected": true,
], ["appName": "app2",
"appTime": "unlimited",
"isSelected": true,
]
]
之后,您可以像这样使用它的计数;
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return myDic.count
}
如果您根据字典中的“ isSelected”值更改复选框状态,那么您的问题将得到解决;
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = myTableView.cellForRow(at: indexPath) as! TableViewCell
if (myDic[indexPath.row]["isSelected"] as? Bool) == true {
myDic[indexPath.row]["isSelected"] = false
} else {
myDic[indexPath.row]["isSelected"] = true
}
cell.appTimeLabel.isHidden = !(myDic[indexPath.row]["isSelected"] != nil)
cell.setLimitButton.isHidden = !(myDic[indexPath.row]["isSelected"] != nil)
cell.selectionBox.isSelected = (myDic[indexPath.row]["isSelected"] != nil)
myTableView.reloadData()
}
关于ios - 如何在选定的“自定义表 View ”中更改单元格的UI元素的状态?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59533580/