在cellForRowAtIndexPath之外显示两个不同的UITABLEVIEWCELLS

时间:2017-06-20 03:36:02

标签: ios swift uitableview

我有两个UITableViewCells并根据条件显示它们 cellForRowatIndexPath。两个单元格都与创建帖子相关,而不是在UITableView中显示。

cellForRowAtIndexPath方法中,使用条件显示单元格没有任何问题。

例如:

if postType[indexPath.row] == "Regular" {show this sell } 
else {show another}`

这是完美的。在创建帖子期间创建postType数组。

我遇到的问题是在cellForRowAtIndexPath方法之外显示正确的单元格。

我有一个按钮,当用户点击它时,它们将进入正确的单元格,就像它们单击它自己的单元格一样。但是,我不知道如何以适当的indexPath或其他方式调整数组。我不是那么好,因为刚刚开始学习迅捷。

我可以为一个单元格做,但我首先需要一个条件而不是显示一个合适的单元格。

此声明适用于一个单元格。

@IBAction func usernameBtn_click(_ sender: AnyObject) {
    let i = sender.layer.value(forKey: "index") as! IndexPath
    let cell = tableView.cellForRow(at: i) as! postCell
}

在我的情况下,我有两个细胞。如何根据数组中的post类型值创建条件并插入适当的索引来检查值并显示单元格。

我有这两个细胞:

let cell = tableView.cellForRow(at: i) as! postCell
let cell = tableView.cellForRow(at: i) as! moreinfoCell

任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:0)

您提到该按钮的作用与用户选择单元格的方式相同,因此如果您正常工作,只需取消选择按钮的“用户交互启用”。

在界面构建器中:

enter image description here

编程:

button.isUserInteractionEnabled = false

这样做将在UITableViewCell上完成触摸,并且将触发didSelectRowAt indexPath:方法。

相关问题