У меня есть кнопка внутри tableViewCell, внутри кнопки есть вид с тенью на нем.Вверху затененного вида есть кнопка, которая меняет тень, чтобы она выглядела так, как будто вид был нажат.
Моя проблема в том, что существует задержка между нажатием кнопки и обновлением тени.
Я знаю, что код запускается немедленно, поэтому это не проблемасвойство delaysContentTouches.Я также вижу, что код запускается до и после линий обновления тени, и они запускаются сразу после нажатия кнопки.
Я попытался изменить тень, чтобы она была на кнопке ине используя представление, но это вызывает массу проблем с остальной частью иерархии представления.Я перемонтировал функции кнопок.И я попытался реализовать все это программно.
У меня также есть еще одна кнопка, которая прекрасно работает.Разница лишь в том, что эти кнопки находятся в tableViewCell.
Вот функции для изменения теней.
@IBAction func touchDown(_ sender: UIButton) {
containerView.layer.shadowRadius = 1
containerView.layer.shadowOffset = CGSize(width: 0, height: 0.5)
containerView.layer.shadowPath = UIBezierPath(roundedRect: containerView.bounds, cornerRadius: 10).cgPath
}
@IBAction func touchUp(_ sender: UIButton) {
delegate?.pressedAt(indexPath!)
containerView.layer.shadowRadius = 2
containerView.layer.shadowOffset = CGSize(width: 0, height: 1)
containerView.layer.shadowPath = UIBezierPath(roundedRect: containerView.bounds, cornerRadius: 10).cgPath
}
Мне нужно немедленно изменить тень при нажатии кнопки.Это показывает, что вид нажимается как кнопка.