У меня есть стек (для звездных рейтингов) в ячейке табличного представления, которые меняются в зависимости от UITouch, и это работает нормально. Но нажатие где-нибудь еще в ячейке должно перейти к следующему контроллеру представления, а этого не происходит.
Вот мои переопределения касания:
class JointViewCell: UITableViewCell {
fileprivate let starStack : UIStackView = {
let stackView = UIStackView()
stackView.axis = .horizontal
stackView.alignment = .fill
stackView.distribution = .fillEqually
stackView.spacing = 4
stackView.tag = 5007
return stackView
}()
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch: UITouch? = touches.first
if touch?.view == starStack {
handleTouch(with: touches)
}
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch: UITouch? = touches.first
if touch?.view == starStack {
handleTouch(with: touches)
}
}
func handleTouch(with touches : Set<UITouch>) {
// handling touch actions
}
}
А вот переопределение didSelectRowAt, которое не отвечает после выполнения вышеуказанных сенсорных действий в ячейке:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let menuCard = MenuCardTable()
menuCard.modalPresentationStyle = .pageSheet
self.present(menuCard, animated: true, completion: nil)
}