用于UITableView的自定义复选框AccessoryView

时间:2016-02-19 07:01:08

标签: swift uitableview accessoryview

我正在为UITableViewCell使用Custom AccessoryView。我正在使用一个复选框。在这里,我想要多种选择。代码在选择时工作正常但在取消选择时我遇到了问题。我不确定我应该在cellForRowAtIndexPathMethod中写什么。我面临的问题是,在取消选中该复选框后,我无法再次选择它。这是我的代码:

 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let fourthCell = tableView.dequeueReusableCellWithIdentifier("fourthCell", forIndexPath: indexPath) as! ItemDetailFourthTableViewCell

      if indexPath != self.lastIndexPath {
                    fourthCell.accessoryView = UIImageView(image: UIImage(named: "checkBoxPassive.png"))
                    fourthCell.accessoryView?.tag = 2
      }
      if indexPath == self.lastIndexPath {
                    fourthCell.accessoryView = UIImageView(image: UIImage(named: "checkBoxActive.png"))
      }
    return fourthCell
  }

  func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
             tableView.deselectRowAtIndexPath(indexPath, animated: true)
            self.isSelected = true
            self.lastIndexPath == indexPath
     if indexPath.section == 1 {
                let cell = tableView.cellForRowAtIndexPath(indexPath) as! ItemDetailFourthTableViewCell
                print("The cell here is \(cell)")
               print("Here the cell accessoryView is \(cell.accessoryView?.tag)")
    if cell.accessoryView?.tag == 0   {
                    print("It is active")
                    cell.accessoryView = UIImageView(image:  UIImage(named: "checkBoxPassive.png"))
    } else if cell.accessoryView?.tag == 2 {
                    print("It is passive")
                      cell.accessoryView = UIImageView(image:  UIImage(named: "checkBoxActive.png"))
    }

   }
  }

0 个答案:

没有答案