Реализовать 3DTouch из пользовательского TableViewCell - PullRequest
0 голосов
/ 16 января 2019

Я использую пользовательский tableViewCell, в котором у меня есть две кнопки, которые увеличивают значения в массив. Моя цель состоит в том, чтобы через событие 3Dtouch в каждой кнопке кнопки уменьшали значения.

Я искал документацию для разработчиков Apple и пытался использовать

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

Но, похоже, это не работает последовательно (не каждое касание регистрируется)

Моя пользовательская ячейка таблицы выглядит следующим образом:

protocol RegistarColheitasTableViewCellDelegate {
    func buttonTapped(sender: RegistarColheitasTableViewCell, button: UIButton)
}

class RegistarColheitasTableViewCell: UITableViewCell {

    @IBOutlet weak var hasteLabel: UILabel!
    @IBOutlet weak var quantidadeLabel: UILabel!
    @IBOutlet weak var baldeButton: UIButton!
    @IBOutlet weak var individualButton: UIButton!

    var delegate: RegistarColheitasTableViewCellDelegate?

    override func awakeFromNib() {
        self.selectionStyle = .none
        hideButtons(toggle: true)
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
    }

    @IBAction func ButtonTapped(_ sender: UIButton) {
        delegate?.buttonTapped(sender: self, button: sender)
    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        // super.touchesBegan(touches, with: event)
        touches.forEach { (touch) in
            if(touch.force >= 1){
                print("3D Touch?")
            }
        }
    }


    func hideButtons(toggle: Bool){
        baldeButton.isHidden = toggle
        individualButton.isHidden = toggle
    }

    func updateWith(quantidade: Int) {
        self.quantidadeLabel.text = String(quantidade)

    }
}

Используя touchesBegan, я могу зарегистрировать событие касания и распечатать что-нибудь на консоли. Тем не менее, это похоже на работу даже с обычными нажатиями. Я ожидаю, что кнопка изменит свое текущее состояние на уменьшитель вместо увеличения, когда ее трогают в 3d

Спасибо

...