2017-09-20 6 views
0

私は単純なUITableViewControllerを持っています。iOS 11 UITableViewCell上のviewForHeaderInSectionビュー削除後

ヘッダーを表示します。 xibからの入り口。 そして単一タイプのセル。

スワイプでセルを削除すると、削除されたセルの上にあるセルがHeaderViewの上に表示され、他のセルがHeaderViewの下に表示されるようになります。

上記の内容が不明な場合は、尋ねてください。

ビデオ:私は、これはそれを解決すべきだと思うhttps://youtu.be/aX-iPnM3q4Q

答えて

0

解決策が見つかりました。

func deleteItem(from indexPath: IndexPath, tableView: UITableView) { 
    cellsData.remove(at: indexPath.row) 
    CATransaction.begin() 
    tableView.beginUpdates() 
    CATransaction.setCompletionBlock { 
     tableView.reloadData() 
    } 
    tableView.deleteRows(at: [indexPath], with: .left) 
    tableView.endUpdates() 
    CATransaction.commit() 
} 

tableView.reloadData()headerViewの上に表示されるセルを固定してアニメーションを終了させるものを実行します。したがって、アニメーションを気にしない場合は、reloadData()だけを追加できます。

0

tableView.sendSubview(toFront: tableView.headerView(forSection: 0)!) 

commitEditingStyle、例えば、あなたがセルを削除した後にこれを設定することができます

(あなただけの1つのセクションを持っていると仮定) 。

+0

これは私が試した最初のものでした。残念ながら助けてくれませんでした。 –

関連する問題