Как отменить выбор ячейки таблицы в swift4 - PullRequest
0 голосов
/ 14 мая 2019

У меня есть табличное представление с ячейкой, я хочу выбрать и отменить выбор ячейки табличного представления, но я не могу это сделать.

Вот мой код:

 import UIKit

 class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var tableView: UITableView!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 10
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    var cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
    //cell.changeTextField

    return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    if let cell = tableView.cellForRow(at: indexPath) as? TableViewCell {
        cell.backgroundColor = UIColor.blue
        print("select")
    }
}

func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
    if let cell = tableView.cellForRow(at: indexPath) as? TableViewCell {
        cell.backgroundColor = UIColor.green
        print("deselect")
    }
}
}

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

Ответы [ 2 ]

1 голос
/ 14 мая 2019

выберите отменить выбор ячейки таблицы в swift5

class UserCardView: UICollectionViewCell {

    @IBOutlet var btnDelete: UIButton!
    @IBOutlet var imgView: UIImageView!
    @IBOutlet var lblUserName: UILabel!
    @IBOutlet var lblBalance: UILabel!
    @IBOutlet var rndView: RoundedView!



    override var isSelected: Bool{
        didSet{
            if self.isSelected
            {
                //This block will be executed whenever the cell’s selection state is set to true 
                self.rndView.backgroundColor = Common.mainColr
                self.lblUserName.textColor = UIColor.white
                self.lblBalance.textColor = UIColor.white
            }
            else
            {
                //This block will be executed whenever the cell’s selection state is set to false 
                self.rndView.backgroundColor = UIColor.white
                self.lblUserName.textColor = UIColor.black
                self.lblBalance.textColor = UIColor.gray
            }
        }
    }


}
0 голосов
/ 17 мая 2019

Я никогда не пытался изменить цвет фона, но я менял ячейки в зависимости от выбора.Я всегда делаю пользовательские классы, когда делаю просмотр таблиц, чтобы легче справляться с такими ситуациями.Попробуйте это:

класс CustomCell: UITableViewCell {

override func setSelected(_ selected: Bool, animated: Bool) {
    self.coverView.backgroundColor = selected ? .blue : .green
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...