如何在swift3中单击视图时删除UITableView的部分

时间:2017-06-05 06:49:33

标签: ios swift3

我想删除swift3中单元格视图上的表格单元格。

单击View时调用以下函数,删除表删除方法用于删除表部分。但此解决方案无法正常工作。

func remove(sender: UITapGestureRecognizer)
        {
            let indexView = sender.view
            let index = indexView?.tag

            self.removeAddresses(position: index!)
        }

    func remove(position: Int)  
    {  
        tableView.deleteSections(IndexSet(index: position,with. automatic))  
        tableView.reloadData()
    }

2 个答案:

答案 0 :(得分:1)

试试这个:

func remove(position: Int)  
    {  
        yourDataSourceArray?.removeAtIndex(position)

        tableView.deleteSections(IndexSet(index: position,with. automatic))  
        tableView.reloadData()
    }

答案 1 :(得分:0)

  1. 要删除表格单元格,建议您使用“编辑样式”
  2. <强>方法:

    func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
    
                }   
    func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
    
    }        
    func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
    
            }   
    
    1. 我认为,

        func remove(sender: UITapGestureRecognizer){
                  let indexView = sender.view
                  let index = indexView?.tag       
                  self.removeAddresses(position: index!)         
              }
      
        func removeAddresses(position: Int){  
           tableView.beginUpdates()
           yourDataSourceArray.removeObject(at: position)
           table.deleteRows(at: [indexPathCreated] , with: .automatic)
           table.endUpdates()
         }