Я пытаюсь изменить цвет фона таблицы на определенный цвет. Однако в режиме редактирования цвет фона вокруг чека меняется на белый.
Как установить цвет фона для представления под флажком? Любая помощь приветствуется!
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet var leftBarBtn: UIBarButtonItem!
@IBOutlet var setlistDetailTableView: UITableView!
var allData = [String]()
var set = [String]()
var isEditingSetlist = false
var setlistIndexes = [Int]()
override func viewDidLoad() {
super.viewDidLoad()
setlistDetailTableView.delegate = self
allData = ["one", "two", "three", "four", "five"]
// Do any additional setup after loading the view.
}
override func viewWillAppear(_ animated: Bool) {
if isEditingSetlist {
leftBarBtn.title = "Done"
setlistDetailTableView.allowsMultipleSelectionDuringEditing = true
}else {
leftBarBtn.title = "edit"
set = ["one", "three"]
setlistDetailTableView.allowsMultipleSelectionDuringEditing = false
}
setlistDetailTableView.setEditing(true, animated: false)
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if isEditingSetlist {
return allData.count
}else{
return set.count
}
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! CellTableViewCell
if isEditingSetlist {
cell.textLabel?.text = allData[indexPath.row]
return cell
}else{
cell.textLabel?.text = set[indexPath.row]
return cell
}
}
@IBAction func leftBarBtnWasPressed() {
if isEditingSetlist {
let indexPathsForSelectedRows = setlistDetailTableView.indexPathsForSelectedRows
var selectedRows = [Int]()
if indexPathsForSelectedRows != nil{
for index in indexPathsForSelectedRows!{
selectedRows.append(index.row)
}
}
selectedRows = selectedRows.filter { !setlistIndexes.contains($0) }
for element in selectedRows{
set.append(allData[element])
}
isEditingSetlist = false
setlistDetailTableView.allowsSelectionDuringEditing = false
setlistDetailTableView.allowsMultipleSelectionDuringEditing = false
leftBarBtn.title = "Edit"
setlistDetailTableView.reloadData()
}else {
isEditingSetlist = true
leftBarBtn.title = "Done"
setlistDetailTableView.allowsMultipleSelectionDuringEditing = true
setlistDetailTableView.reloadData()
for setElement in set.enumerated(){
for all in allData.enumerated(){
if setElement.element == all.element{
setlistIndexes.append(all.offset)
}
}
}
for index in setlistIndexes{
setlistDetailTableView.selectRow(at: IndexPath(row: index, section: 0), animated: false, scrollPosition: .none)
}
}
}
func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool {
if !isEditingSetlist {
return true
}else{
return false
}
}
func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath) {
}
func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool {
if !isEditingSetlist {
return false
}else{
return true
}
}
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
return .none
}
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
cell.backgroundColor = #colorLiteral(red: 1, green: 0.231372549, blue: 0.1882352941, alpha: 1)
}
func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
if !isEditingSetlist {
return false
}else{
return true
}
}
}