ios - didSelectRowAtIndexPath 带有包含部分的 tableView

标签 ios swift

我有一个包含多个部分的 tableView,每个部分仅包含一个单元格(这样做是为了在每个单元格之间创建一个间隙)。我试图在选择单元格时为它创建一个自定义选择 View 。 当我选择一行时,自定义选择 View 将被添加到多个单元格中。我知道问题是因为细胞被重复使用。解决这个问题的最佳解决方案是什么?

这是我的代码。

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        if let myCell = tableView.cellForRowAtIndexPath(indexPath) as? PredefinedServicesCell{
            let selectionView = UIView()
            selectionView.backgroundColor = UIColor(hex: 0x3399CC).colorWithAlphaComponent(0.2)
            selectionView.layer.cornerRadius = (myCell.containerView.layer.cornerRadius)
            selectionView.frame = (myCell.containerView.frame)
            myCell.containerView.addSubview(selectionView)
        }
    }

最佳答案

您可以在您的 CustomCell 类中使用以下方法隐藏或显示自定义选定 View

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)
    self.customSelectedView.hidden = !selected
}

关于ios - didSelectRowAtIndexPath 带有包含部分的 tableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38160016/

相关文章:

ios - FM 数据库结果集

ios - 我很难理解苹果 block 编程的这一部分

ios - 在 Swift 中注册远程通知时未收到设备 token

swift - 如何做自动增量

ios - %s 和 %d 是什么?

ios - 按“后退”按钮执行 segue

android - 我应该选择什么 AWS 开发工具包?

swift - NavigatorController 按钮不显示弹出警报

swift:UISearchcontroller 在搜索开始之前/之后显示不同的 TableView

ios - 如何从解析数组中删除项目?