我创建了一个静态TableView,我想根据我们自己的帐户或访客帐户来添加或删除披露指标。
这就是我想要的:
let index = IndexPath(row: 4, section: 0)
let cell = tableView.cellForRow(at: index)
if currentUser {
cell.accessoryType = .none
//cell.backgroundColor = UIColor.red
}
我试图把它放在viewDidLoad函数中,但它没有用。我也尝试了cellForRowAt indexPath和相同的结果。
我怎么能这样做?
答案 0 :(得分:3)
只需检查您是否要在cellForRowAt indexPath方法中显示披露指标。
if (wantsToShow){ // Your condition goes here
cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
}
else{
cell.accessoryType = .none
}
那就是它。
答案 1 :(得分:1)
答案 2 :(得分:0)
请在cellForRowTableView代码中使用以下代码
它适用于你
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
if currentUser {
// Own Account
cell.accessoryType = .none
//cell.backgroundColor = UIColor.red
}else{
//Guest Account
cell.accessoryType =.checkmark
}
}
答案 3 :(得分:-1)
要在特定的静态单元格上添加附件,我使用了tableView,cellForRowAt,但无法访问对UITableViewCell的引用。
然后我发现了super.tableView(tableView,cellForRowAt:indexPath)
这是我的代码: 假设您知道所需的特定索引路径:
var indexPathSort = IndexPath(item: 0, section: 0)
var indexPathPrice = IndexPath(item: 0, section: 1)
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = super.tableView(tableView, cellForRowAt: indexPath)
if indexPath == indexPathSort || indexPath == indexPathPrice {
cell.accessoryType = .checkmark
}
return cell
}