1

UITableViewCell にカスタム AccessoriesView を使用しています。チェックボックスを使用しています。ここでは、複数選択が必要です。選択中はコードが正常に機能しますが、選択を解除すると問題が発生します。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"))
    }

   }
  }
4

0 に答える 0