2016-02-26 2 views
0

Привет, я использую представление таблицы, чтобы выбрать снимок ячейки и получить желаемый результат. но когда я проверить любую ячейку и прокрутите вниз, а затем проверить шоу на другие клетки тожевид таблицы, создающий многократный аксессуар Тип при прокрутке по ячейкам

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 


     errorText!.removeFromSuperview() 

     tableView.deselectRowAtIndexPath(indexPath, animated: false) 
     let cell: UITableViewCell = tableView.cellForRowAtIndexPath(indexPath)! 
     let person = numberArray[indexPath.row] 

     if cell.accessoryType == .None { 
      cell.accessoryType = .Checkmark 
      selectedPeople.addObject(person) 
     }else if cell.accessoryType == .Checkmark { 
      cell.accessoryType = .None 
      selectedPeople.removeObject(person) 
     } 

     print("\(selectedPeople)") 
} 

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

     let cell = tableView.dequeueReusableCellWithIdentifier("commentCellss", forIndexPath: indexPath) 


     for object in cell.contentView.subviews 
     { 
      object.removeFromSuperview(); 
     } 


     let text1:UILabel = UILabel.init(frame: CGRectMake(20, 10, 350, 30)) 
     text1.font = UIFont.systemFontOfSize(23) 
     text1.text = nameArray[indexPath.row] as? String 
     cell.contentView.addSubview(text1) 

     let text2:UILabel = UILabel.init(frame: CGRectMake(20, text1.frame.origin.y+text1.frame.size.height , 350, 30)) 
     text2.font = UIFont.systemFontOfSize(15) 
     text2.text = numberArray[indexPath.row] as? String 
     text2.textColor = UIColor.lightGrayColor() 
     cell.contentView.addSubview(text2) 


     let text3:UILabel = UILabel.init(frame: CGRectMake(0, text2.frame.origin.y+text2.frame.size.height+6 , 350, 1)) 
     text3.font = UIFont.systemFontOfSize(15) 
     text3.backgroundColor = UIColor.darkGrayColor() 
     cell.contentView.addSubview(text3) 



     return cell 
    } 
+0

вы должны поддерживать выбор из resusability клеток –

+0

, как я должен делать это .... значит я должен проверить какие ячейки уже проверяют ячейку для строки по пути индекса. ? –

+0

PLS первый реализовать данный ниже ответ ... !! его работа для меня –

ответ

0
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 


     errorText!.removeFromSuperview() 

     tableView.deselectRowAtIndexPath(indexPath, animated: false) 
     let cell: UITableViewCell = tableView.cellForRowAtIndexPath(indexPath)! 
     let person = numberArray[indexPath.row] 

     if cell.accessoryType == .None { 
      selectedPeople.addObject(person) 
     }else if cell.accessoryType == .Checkmark { 
      selectedPeople.removeObject(person) 
     } 
     tableView.reloadData() 
     print("\(selectedPeople)") 
} 

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

     let cell = tableView.dequeueReusableCellWithIdentifier("commentCellss", forIndexPath: indexPath) 


     for object in cell.contentView.subviews 
     { 
      object.removeFromSuperview(); 
     } 


     let text1:UILabel = UILabel.init(frame: CGRectMake(20, 10, 350, 30)) 
     text1.font = UIFont.systemFontOfSize(23) 
     text1.text = nameArray[indexPath.row] as? String 
     cell.contentView.addSubview(text1) 

     let text2:UILabel = UILabel.init(frame: CGRectMake(20, text1.frame.origin.y+text1.frame.size.height , 350, 30)) 
     text2.font = UIFont.systemFontOfSize(15) 
     text2.text = numberArray[indexPath.row] as? String 
     text2.textColor = UIColor.lightGrayColor() 
     cell.contentView.addSubview(text2) 


     let text3:UILabel = UILabel.init(frame: CGRectMake(0, text2.frame.origin.y+text2.frame.size.height+6 , 350, 1)) 
     text3.font = UIFont.systemFontOfSize(15) 
     text3.backgroundColor = UIColor.darkGrayColor() 
     cell.contentView.addSubview(text3) 

     if (selectedPeople.contains(numberArray[indexPath.row])){ 
      cell.accessoryType = .Checkmark 
     } 
     else{ 
      cell.accessoryType = .None 
     } 

     return cell 
    } 
+0

PLS первый реализовать .... !!! его работа для меня ... !! –

+0

Да, конечно, я реализую то же самое и проверяю результат. –

+0

это работает для u ??? –

Смежные вопросы